Media
Dies sind Beispiele für queries zum Abrufen und Bearbeiten von Mediendaten.
Medien abrufen
Ein Medienelement mit der Bildquelle in verschiedenen Größen:
query {
mediaItem(by: { id: 1647 }) {
id
srcSet
src
thumbSizeSrc: src(size: "thumbnail")
largeSizeSrc: src(size: "large")
}
}Alle Medienelemente (standardmäßig mit dem Mime-Typ „image") und alle Bildgrößen:
query {
imageSizeNames
mediaItems {
id
srcSet
src(size: "medium")
sizes(size: "thumbnail")
width
height
slug
url
urlPath
title
caption
altText
description
date
mimeType
}
}Das Beitragsbild der Posts:
query {
posts {
id
hasFeaturedImage
featuredImage {
id
src
width
height
}
}
}Medienelemente filtern:
{
mediaItems(
pagination: { limit: 3 },
sort: { by: TITLE },
filter: { dateQuery: { after: "2012-01-02" } }
) {
id
src
height
width
}
}Video- und Audio-Elemente abrufen:
{
mediaItems(
filter: { mimeTypes: ["video", "audio"] }
) {
id
src
}
}Medienelemente des eingeloggten Benutzers abrufen
Die Felder myMediaItemCount, myMediaItems und myMediaItem rufen die Medienelemente des eingeloggten Benutzers ab:
query GetMediaItems {
me {
slug
}
myMediaItemCount
myMediaItems(pagination: {
limit: 3
}) {
...MediaItemData
}
myMediaItem(by: { id: 1380 }) {
...MediaItemData
}
}
fragment MediaItemData on Media {
id
mimeType
src
author {
slug
}
}Beitragsbild eines Posts setzen
Wir können auf jedes Bild verweisen, das in der Medienbibliothek vorhanden ist.
mutation {
setFeaturedImageOnCustomPost(
input: {
customPostID: 1499,
mediaItemID: 1505
}
) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
customPostID
customPost {
...on WithFeaturedImage {
featuredImage {
id
src
}
}
}
}
}Mit verschachtelten Mutations:
mutation {
post(by: { id: 1499 }) {
setFeaturedImage(input: { mediaItemID: 1647 }) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
customPostID
customPost {
...on WithFeaturedImage {
featuredImage {
id
src
}
}
}
}
}
}Anhang in die Medienbibliothek hochladen
Die Mutation createMediaItem akzeptiert standardmäßig keine unsicheren URLs.
Lies die Anleitung Medienelemente aus unsicheren URLs erstellen, um zu erfahren, wie du dieses Verhalten überschreiben kannst.
Die URL übergeben:
mutation CreateMediaItems {
fromURL: createMediaItem(input: {
from: {
url: {
source: "https://gatographql.com/assets/GatoGraphQL-logo.webp"
}
}
caption: "Gato GraphQL logo"
altText: "This is the Gato GraphQL logo"
}) {
mediaItemID
status
errors {
__typename
...on ErrorPayload {
message
}
}
mediaItem {
altText
caption
mimeType
slug
src
title
}
}
}Den Inhalt des Anhangs direkt übergeben:
mutation CreateMediaItems {
createMediaItem(input: {
from: {
contents: {
body: """
<html>
<body>
Hello world!
</body>
</html>
"""
filename: "hello-world.html"
}
}
title: "Hello world!"
}) {
mediaItemID
status
errors {
__typename
...on ErrorPayload {
message
}
}
mediaItem {
altText
caption
mimeType
slug
src
title
}
}
}Ein Medienelement erstellen, das die angehängte Datei eines anderen Medienelements wiederverwendet:
mutation CreateMediaItems {
createMediaItem(input: {
from: {
mediaItemBy: {
id: 1361
}
}
title: "Hello world!"
}) {
mediaItemID
status
errors {
__typename
...on ErrorPayload {
message
}
}
mediaItem {
altText
caption
mimeType
slug
src
title
}
}
}Ein Medienelement aktualisieren
Den Alternativtext und die Bildunterschrift eines Bildes ändern:
mutation UpdateMediaItem {
updateMediaItem(input: {
id: 1380
caption: "Updated caption"
altText: "Updated alt text"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
mediaItem {
altText
caption
}
}
}