2017-01-03 26 views
1

Contentfulには、Content Delivery API用のPHP SDKのみが用意されています(準備完了)。 PHPコードからエントリを更新する必要があり、ドキュメントにサンプルコードが見つかりませんでした。Contentful - コンテンツ管理APIのサンプルコード

私はREST APIを直接使用しようとしていますが(https://www.contentful.com/developers/docs/references/content-management-api/#/reference/entries/entries-collection/create-an-entry)、フィールドを含む正しいフォームデータを送信するには数多くの問題があります。

エントリIDを使用してエントリのタイトルを更新する方法のサンプルコードがありますか?あなたがあなたのリクエストで有効なJSONペイロードを供給する必要があるContentful内のエントリを更新するには

おかげ

答えて

2

。さて、これはもちろん、あなたの特定のエントリやコンテンツタイプがどのように見えるかに依存するが、ここでは、そのようなペイロードの作業例です:あなたは巣に更新したいロケールを持つ各フィールドの値を必要とする

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

注意。

コンテンツAPIは楽観的同時実行性を使用しているため、最新の既知バージョンのエントリをヘッダーに指定する必要があります。例えば:

X-Contentful-Version:4 

正しいバージョンのヘッダを有するこのペイロードは、特定の値を持つ<space_id><entry_id>を交換https://api.contentful.com/spaces/<space_id>/entries/<entry_id>

PUT要求とともに送信される必要があります。これはまた、あなたが管理アクセストークンを必要とする管理エンドポイントにアクセスするために心に留めておくhttps://cdn.contentful.com

でライブコンテンツ配信エンドポイントが異なること

注意。配信アクセストークンは行いません。管理トークンの作成方法と使用方法の詳細については、公式ドキュメントを参照してください。https://www.contentful.com/developers/docs/references/authentication/#the-content-management-api

+0

ありがとうございます。これは、正しいエントリを作成するための例ですか?更新するオブジェクトのエントリIDを設定するにはどうすればよいですか? – FelipeOliveira

+1

IDを含めるための回答を更新します。 – Robban

+1

実際には、同じエンドポイントを使用して、エントリの作成と更新の両方を行うことができます。既存のエントリ(バージョンヘッダーを追加した場合)を更新するか、idが存在しない場合は新しいエントリを作成します。こうすることで、作成したエントリのIDを制御できます。 – Robban

関連する問題