Posts und Medien richtig verarbeiten
Auf dieser Seite
Die Feedivo-API vereinheitlicht Instagram, Facebook, Threads, Pinterest und YouTube zu einem plattformneutralen Datenmodell. Clients müssen deshalb keine fünf unterschiedlichen Plattformantworten verarbeiten.
Feed, Post und Medium#
Die drei wichtigsten Ebenen sind:
- Feed: Filter, Darstellungsregeln und aktuelle Feed-Konfiguration.
- Post: Plattformbeitrag mit Text, Autor, Veröffentlichungszeit und Verweisen auf seine Medien.
- Medium: einzelne Bild- oder Videodatei beziehungsweise ein externer Player. Ein Karussell besitzt mehrere Medien in Anzeigereihenfolge.
Die vollständigen Felder findest du unter API-Datenmodelle.
Post-Typ und Untertyp getrennt auswerten#
type beschreibt die grundsätzliche Form:
| Wert | Bedeutung |
|---|---|
image |
einzelnes Bild |
video |
Video oder Video-Embed |
carousel |
mehrere Medien in media |
text |
Post ohne eigenes Medium |
subtype ergänzt eine feinere Einordnung:
| Wert | Bedeutung |
|---|---|
reel |
Instagram Reel |
short |
YouTube Short |
story |
Instagram- oder Facebook-Story |
null |
kein besonderer Untertyp |
Wichtig
Stories sind flüchtig. Sie verschwinden nach ihrem Ablauf aus allen Feed-Antworten und sollten nicht als dauerhafte Detailseiten gespeichert werden.
Primärmedium und Medienliste#
media_url und thumbnail_url sind bequeme Kurzfelder für das erste Medium.
Für eine vollständige Darstellung solltest du trotzdem media verwenden:
{
"type": "carousel",
"media_url": "https://…/erstes-bild.webp",
"media": [
{ "type": "image", "url": "https://…/erstes-bild.webp" },
{ "type": "video", "url": "https://…/clip.mp4", "thumbnail_url": "https://…/clip.webp" }
]
}
Die Reihenfolge des Arrays ist die gewünschte Anzeigereihenfolge. Ein Einzelpost enthält normalerweise genau ein Element.
Bilder, Videos und externe Player#
Bei einem Bild zeigt url auf die Bilddatei. Bei einem direkt verfügbaren
Video zeigt url auf die Videodatei und thumbnail_url auf das Standbild.
Bei YouTube ist url leer und embed_url enthält die datenschutzfreundliche
Player-Adresse unter
youtube-nocookie.com. Zeige bis zum bewussten Start durch den Nutzer zunächst
thumbnail_url an.
function renderMedia(item) {
if (item.embed_url) return renderConsentAwareEmbed(item.embed_url, item.thumbnail_url);
if (item.type === 'video') return renderVideo(item.url, item.thumbnail_url);
return renderImage(item.url, item.width, item.height);
}
Layout ohne Nachspringen#
width und height geben die Anzeigemaße in Pixeln an. Bei Videos beziehen
sie sich auf das Vorschaubild mit demselben Seitenverhältnis. Reserviere damit
den benötigten Platz, bevor die Datei geladen ist.
Sind die Maße null, wurden sie noch nicht bestimmt. Behandle null als
„unbekannt“ und nicht als Quadrat oder als Wert 0.
.feed-media {
aspect-ratio: var(--media-width) / var(--media-height);
object-fit: cover;
}
Das Feld cached#
cached: true: Für das Medium stehen stabile Feedivo-Adressen bereit.cached: false: Mindestens eine Adresse kommt noch von der Plattform und kann ablaufen.
Ein Ladefehler bei cached: false ist daher kein Grund, den gesamten Post zu
löschen. Zeige einen Platzhalter und versuche das Medium bei einem späteren
Abruf erneut.
mime und bytes beziehen sich auf die Datei hinter url. Beide können
null sein, wenn die Angaben noch nicht verfügbar oder bei einem Embed nicht
vorhanden sind.
Plattformübergreifende Zusatzfelder#
collectionnennt bei Pinterest das Board; bei anderen Plattformen ist der Wertnull.also_onlistet weitere Plattformen auf, deren Duplikate im Feed zusammengefasst wurden.pinnedisttrue, wenn der Nutzer den Post angepinnt hat. Die API sortiert ihn bereits nach vorn; eigene Sortierungen können das Feld ebenfalls berücksichtigen.- Ausgeblendete Posts erscheinen in keiner erfolgreichen Feed-Antwort.
Identität lokal speichern#
id ist die Post-ID der jeweiligen Plattform und deshalb nicht zwingend
plattformübergreifend eindeutig. Verwende lokal mindestens die Kombination:
feed_id + platform + post_id
Wenn dieselbe lokale Post-Kopie mehreren Feeds zugeordnet werden soll, eignet
sich platform + post_id als Post-Schlüssel. Die Zugehörigkeit zu den einzelnen
Feeds verwaltest du davon getrennt.
Frage nicht beantwortet? Schreib uns — wir ergänzen die Seite.