Contentful API 在条目更新时返回“版本不匹配”

2024-01-01

我尝试使用 Contentful 的内容管理 API 执行以下操作:

  1. 获取条目(条目1)
  2. 使用条目 1 中字段的数据查找另一个条目 (条目 2)
  3. 使用条目 2 中的数据更新条目 1

我的代码如下所示:

client.getSpace("xxxxxxxx").then(function(space){
  space.getEntries({
    "content_type": "xxxxxxxx",
    "sys.id": "2KEZYJOgDSeQMCQIE0Oo88",
    "limit": 1
  }).then(function(places){

    //search for relevant category entry
    space.getEntries({
      "content_type": contentType.category,
      "sys.id": places[0].fields.category["en-GB"],
      "limit": 1
    }).then(function(category){

      //update place object
      places[0].fields.categoryNew = {
        "en-GB": [ 
          { sys: { type: "Link", linkType: "Entry", id: category[0].sys.id } } 
        ]
      };        

      //update place
      request({
        method: 'PUT',
        url: 'https://api.contentful.com/spaces/xxxxxxxx/entries/' + places[0].sys.id,
        headers: {
          'Authorization': 'Bearer xxxxxxxx',
          'Content-Type': 'application/vnd.contentful.management.v1+json',
          'X-Contentful-Content-Type': 'xxxxxxxx'
        },
        body: JSON.stringify({fields:places[0].fields})
      }, function (error, response, body) {
        console.log(body);
      });

    });


  });
});

步骤 1 和 2 工作正常,但最后一步(更新原始条目)不断返回以下错误:

Response: {
  "sys": {
    "type": "Error",
    "id": "VersionMismatch"
  },
  "requestId": "content-api:2PSSF6RtpSs2YyaaisK2wc"
}

我该如何阻止这种情况发生?我已经尝试了所有我能想到的方法,包括手动更新sys.version数字,但更新时似乎忽略了任何sys我提供的数据。


参考https://www.contentful.com/developers/docs/references/content-management-api/#/introduction/updating-and-version-locking https://www.contentful.com/developers/docs/references/content-management-api/#/introduction/updating-and-version-locking

您需要将版本作为名为“X-Contentful-Version”的标头参数与 PUT 请求一起传递。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Contentful API 在条目更新时返回“版本不匹配” 的相关文章

随机推荐

  • 无法创建 AWS-SNS GCM 帐户,显示无效凭证消息

    到目前为止 我一直在寻找有关这个特定问题的资源 但运气不佳 所以我想我会在这里尝试 我正在尝试使用 GCM 在 AWS SNS 控制台中创建 Amazon Web Service 简单通知服务应用程序 我已经毫无问题地创建了 iOS 版本的
  • 当启用 use strict 时,如何找到 JavaScript 中的调用者函数?

    是否可以在以下情况下看到函数的被调用者 调用者use strict已启用 use strict function jamie console info arguments callee caller name this will outpu
  • 为什么 event.getSource() 对于具有相关源视图的辅助功能事件返回 null?

    对于 android widget Button 上的事件 TYPE VIEW CLICKED事件 getSource https developer android com reference android view accessibi
  • 如何验证用户当前的密码?

    所以 也许我在文档中的某个地方错过了这一点 但我找不到类似的东西 我不希望我的用户必须输入当前密码才能创建新密码 据我了解 如果用户经过身份验证 他就可以更新密码而无需提供当前密码 即使这可能有点安全 我宁愿让他输入他的旧密码 以防止人们继
  • 定义计算相关矩阵的协方差矩阵的函数

    我在矩阵转换以及行和列的名称方面遇到一些问题 我的问题如下 作为输入矩阵我有一个 对称 相关矩阵像这个 The 相关向量由下三角矩阵的值给出 现在 我想计算这些相关性的方差 协方差 矩阵 它们近似正态分布方差 协方差 矩阵 The 差异可以
  • MonadBaseControl 的用途是什么?

    我正在深入研究 Yesod 的 monad 并且遇到了MonadBaseControl 我看了一眼 hackage 文档 然后就迷路了 有人可以告诉我它试图解决的问题吗 Michael Snoyman 实际上写了一个关于 monad con
  • 还要注意项目文件

    I use sbt以下列方式 我跑 test compile在 sbt 中工作 然后在 IDE 中工作 偶尔观察项目是否仍然可以编译 因为 IDE 的演示编译器往往有错误 当我git pull一些代码 可能会发生变化project 文件 所
  • 如何使用 RXJS 每 2 分钟进行一次 http 调用?

    我有一项服务每 2 分钟就会呼叫我的休息服务 在我的服务中我有以下功能 getNotifications token string const body xxxxxxxxx token return this http post rest
  • Ruby 数组创建,Array.new 与 []

    这两种说法有什么区别 我在我的 Rails 应用程序中使用它们 对我来说 它们看起来像做同样的事情 array a Array new array b 这两个语句在功能上是相同的 Array new但是可以接受参数和块 Array new
  • 如何利用 Google Firebase 数据库中的过滤器和子元素

    Working on an Android app that is using the new Firebase Database framework It has data objects that are modeled like th
  • 将 WebSocket 与 ASP.NET Web API 结合使用

    在 ASP NET Web API 应用程序中使用原始 Websocket 的首选方法是什么 我们想用binaryASP NET Web API 应用程序的几个接口上的 WebSocket 我很难确定应该如何完成此操作 因为 NET 的在线
  • CouchDB 视图出错

    我一直在使用 CouchDB 和 RelaxDB rub y 库 但创建一个视图然后尝试访问它会导致一个令人讨厌的非特定错误 我退后一步 因为我认为 RelaxDB 可能与我正在使用的 CouchDB 版本 0 8 1 不兼容 但即使我创建
  • 准备好的语句的最佳实践;何时做、何时不做

    我最近开始在 Web 应用程序中再次使用准备好的语句 并且我知道不鼓励对所有事务使用准备好的语句 我不知道什么时候最好使用准备好的语句 我读过何时使用和不使用它们 但没有一个示例真正说明了使用它们的最佳实践 我试图弄清楚哪些数据库调用我应该
  • github for windows 每天崩溃几次

    我最近开始工作Github通过他们的本机 Windows 应用程序 它非常好 但是它经常崩溃 可怕的是我在崩溃后丢失了所有最近的更改 所有本地文件将回滚到成功提交或同步的最后版本 我使用的是 64 位 Windows 8 机器 有任何想法吗
  • python 中的 ctypes 与 memset 崩溃

    我正在尝试从内存中删除密码字符串就像这里建议的那样 https stackoverflow com questions 982682 mark data as sensitive in python 983525 983525 我写了这个小
  • 是否存在 TcpClient.Close 或 Socket.Close(0) 可能阻止我的代码的情况?

    由于没有指定 Close 方法是线程安全的 我应该从锁中调用它 我如何确定它不会阻塞我的线程 我应该禁用 LingerState 还是可以启用它 顺便说一句 我需要同时调用 TcpClient Close 和 TcpClient Clien
  • Sinatra + Heroku + Datamapper 与 dm-sqlite-adapter 的部署问题

    由于某种原因 heroku 尝试要求 dm sqlite adapter 尽管它应该在这里使用 Postgres 请注意 这种情况发生在我打开任何 URL 时 而不是在 git 推送本身期间 我构建了一个默认的 Facebook 应用程序
  • 使用 to_sql 写入 datetime.date 会引发操作错误

    我正在使用最新的 pandas 14 1 并使用 to sql 方法写入 MS SQL Server 2008 v2 服务器 使用 SQLalchemy 作为引擎 以下带有日期时间对象的数据框按预期工作 test DataFrame df1
  • Mako 逃离金字塔内的问题

    我需要将 javascript 函数放入 mako 模板中 该函数的第一个参数是字符串 因此我在 mako 文件中写入 dict field name geom init map field name 但是当我看到我的 html 页面时 它
  • Contentful API 在条目更新时返回“版本不匹配”

    我尝试使用 Contentful 的内容管理 API 执行以下操作 获取条目 条目1 使用条目 1 中字段的数据查找另一个条目 条目 2 使用条目 2 中的数据更新条目 1 我的代码如下所示 client getSpace xxxxxxxx