2017-01-03 2 views
1

Contentful hat nur ein PHP-SDK für die Content Delivery-API (nur bereit). Ich muss einen Eintrag von meinem PHP-Code aktualisieren und ich konnte keinen Beispielcode in der Dokumentation finden.Contentful - Beispielcode für die Content Management-API

Ich versuche, die REST-API direkt zu verwenden (https://www.contentful.com/developers/docs/references/content-management-api/#/reference/entries/entries-collection/create-an-entry), aber mit Tonnen von Problemen, um die richtigen Formulardaten mit Feldern zu senden.

Hat jemand einen Beispielcode, wie ich den Titel eines Eintrags mit der Eingabe-ID aktualisieren kann?

dank

Antwort

2

einen Eintrag in gehalt aktualisieren müssen Sie eine gültige JSON Nutzlast mit Ihrer Anfrage liefern. Nun ist diese hängt natürlich davon ab, wie Sie Ihren spezifischen Eintrag und Content-Typ sieht aus wie aber hier ist ein funktionierendes Beispiel für eine solche Nutzlast:

{ 
"fields": { 
    "title": { 
     "en-US": "Hello, World!" 
      }, 
    "body": { 
     "en-US": "Bacon is healthy!" 
      } 
    } 
} 

Beachten Sie, dass jedes Feld Wert mit den Schauplätzen zu nisten müssen, die Sie aktualisieren möchten.

Da die Contentful-API optimistische Parallelität verwendet, müssen Sie auch eine Kopfzeile mit der neuesten bekannten Version des Eintrags angeben. Zum Beispiel:

X-Contentful-Version:4 

Diese Nutzlast mit der richtigen Version Header muss mit einem PUT Anfrage https://api.contentful.com/spaces/<space_id>/entries/<entry_id>

Ersetzen Sie die <space_id> und <entry_id> mit Ihren spezifischen Werte gesendet werden.

Beachten Sie, dass diese von den Content Delivery Endpoints unterscheidet, die sich auch im Auge behalten, bei https://cdn.contentful.com

leben, dass die Management-Endpunkte, die Sie ein Management-Zugriffstoken benötigen zuzugreifen. Ein Zustellungszugriffstoken wird nicht ausgeführt. Weitere Informationen zum Erstellen und Verwenden eines Verwaltungstokens finden Sie in der offiziellen Dokumentation hier: https://www.contentful.com/developers/docs/references/authentication/#the-content-management-api

+0

Vielen Dank. Das ist ein Beispiel, um einen neuen Eintrag zu erstellen, richtig? Wie kann ich die Eingabe-ID des Objekts, das ich aktualisieren möchte, festlegen? – FelipeOliveira

+1

Aktualisierung der Antwort mit der ID. – Robban

+1

Sie können denselben Endpunkt zum Erstellen und Aktualisieren eines Eintrags verwenden. Es aktualisiert jeden vorhandenen Eintrag (sofern Sie den Versions-Header hinzufügen) oder erstellt einen neuen, wenn die ID nicht existiert. Auf diese Weise können Sie die ID Ihrer erstellten Einträge steuern. – Robban

Verwandte Themen