Lire une story avec ses assets
Lisez les fichiers et les liens attachés à une story : des fragments sur FileAsset et URLAsset donnent leurs adresses de téléchargement et leurs miniatures.
Une fois que vous savez lire une story, l’étape suivante consiste à lire ses assets : les fichiers, les liens et les autres objets attachés à la version courante. Stories, espaces et utilisateurs décrit ce qu’est un asset.
Lister les assets
Les assets appartiennent à la version. Demandez __typename sur chacun : il indique de quel type d’asset il s’agit.
query {
story(slug: 123) {
id
slug
version {
title
assets {
__typename
uuid
created
}
}
user {
name
}
}
}
__typename vaut FileAsset pour un fichier importé, URLAsset pour un lien, et ainsi de suite.
Lire les champs de chaque type
Chaque type d’asset a ses propres champs. Pour les lire, utilisez un fragment en ligne par type, sur le même modèle que ... on Story avec node dans Lire une story :
query {
story(slug: 123) {
id
slug
version {
title
assets {
__typename
uuid
created
... on FileAsset {
embed
filename
downloadUrl
}
... on URLAsset {
embed
url
}
}
}
user {
name
}
}
}
La réponse, pour une story avec une image attachée :
{
"data": {
"story": {
"id": "U3Rvcnk6MTIz",
"slug": 123,
"version": {
"title": "Hello world!",
"assets": [
{
"__typename": "FileAsset",
"uuid": "ef022818-88dc-432c-975d-74bc4575a251",
"created": "2020-03-26T10:21:10.067170Z",
"embed": {
"url": "https://nom-de-votre-plateforme.elium.com/api/story/asset/12/download/13/image001.jpg",
"thumbnail_url": "https://nom-de-votre-plateforme.elium.com/api/story/asset/12/thumbnail/13?fallback=false&tclass=xxlarge",
"image_url": "https://nom-de-votre-plateforme.elium.com/api/story/asset/12/thumbnail/13?fallback=false&tclass=xxlarge",
"cover_url": "https://nom-de-votre-plateforme.elium.com/api/story/asset/12/thumbnail/13?fallback=false&tclass=cover",
"filename": "image001.jpg",
"digest": "b6b6783c4b5445249b30e17d969515a1f5d8b82bf05a1c5ca97211e244ad9a1a",
"filesize": 53223,
"mimetype": "image/jpeg"
},
"filename": "image001.jpg",
"downloadUrl": "https://nom-de-votre-plateforme.elium.com/api/story/asset/12/download/13/image001.jpg"
}
]
},
"user": {
"name": "John Doe"
}
}
}
}
embed donne les miniatures et les métadonnées d’un FileAsset, et l’extrait (un résumé structuré de la page) d’un URLAsset. Télécharger un fichier demande la même authentification que l’API.