gpt4 book ai didi

javascript - 内容更新时返回 'version mismatch' 的内容 API

转载 作者:行者123 更新时间:2023-12-05 00:37:49 28 4
gpt4 key购买 nike

我正在尝试使用 Content Management API for Contentful 执行以下操作:

  • 获取条目 (entry1)
  • 使用条目 1
  • 中的字段中的数据查找另一个条目 (entry2)
  • 使用来自条目 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
    您需要将版本作为名为“X-Contentful-Version”的 header 参数与 PUT 请求一起传递。

    关于javascript - 内容更新时返回 'version mismatch' 的内容 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32787795/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com