【问题标题】:Contentful - Example code for the Content Management APIContentful - 内容管理 API 的示例代码
【发布时间】:2017-05-18 00:55:50
【问题描述】:

Contentful 只有一个用于 Content Delivery API 的 PHP SDK(仅准备就绪)。 我需要从我的 PHP 代码中更新一个条目,但我在文档中找不到任何示例代码。

我尝试直接使用 REST API (https://www.contentful.com/developers/docs/references/content-management-api/#/reference/entries/entries-collection/create-an-entry),但在发送正确的表单数据和字段时遇到很多问题。

谁有我如何使用条目 ID 更新条目标题的示例代码?

谢谢

【问题讨论】:

    标签: php guzzle contentful


    【解决方案1】:

    要更新 Contentful 中的条目,您需要在请求中提供有效的 JSON 负载。现在这当然取决于您的特定条目和内容类型的外观,但这里有一个此类有效负载的工作示例:

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

    请注意,您需要将每个字段值嵌套到您希望更新的语言环境中。

    由于 Contentful API 使用乐观并发,您还需要提供包含最新已知版本条目的标头。例如:

    X-Contentful-Version:4
    

    这个带有正确版本标头的有效载荷需要与PUT 请求一起发送到https://api.contentful.com/spaces/<space_id>/entries/<entry_id>

    <space_id><entry_id> 替换为您的具体值。

    请注意,这与位于 https://cdn.contentful.com 的内容交付端点不同

    另外请记住,要访问管理端点,您需要一个管理访问令牌。交付访问令牌将不起作用。有关如何创建和使用管理令牌的更多信息,请参阅此处的官方文档:https://www.contentful.com/developers/docs/references/authentication/#the-content-management-api

    【讨论】:

    • 谢谢。这是创建新条目的示例,对吗?如何设置要更新的对象的条目 ID?
    • 更新答案以包含 id。
    • 您实际上可以使用相同的端点来创建和更新条目。它将更新任何现有条目(前提是您添加了版本标头),或者如果 id 不存在,它将创建一个新条目。这样你就可以控制你创建的条目的ID。
    • 关于访问令牌,我可以在生产中使用doc工具生成的那个还是我需要在我的php应用程序中实现OATH?
    • 建议不要在生产中使用该工具生成的那个,这是因为这与您个人有关。您通常希望每个应用程序都有一个唯一的令牌。也就是说,即使在生产环境中,使用您个人创建的令牌也可以正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多