javascript - Contentful:使用 Content Management API 时防止触发 Webhook

标签 javascript php contentful contentful-management

因此,我在 Contentful 仪表板中创建了一个 Webhook,该 Webhook 在发布或删除条目时触发,并且它按预期工作。但是,我希望能够通过内容管理 JavaScript API 发布条目,而不触发 webhook。我可以采取什么措施来实现这一目标吗?

最佳答案

遗憾的是,如果条目是通过 API 或直接通过 Web 应用程序发布,则没有任何区别。 Web 应用程序只需在后台调用 API。

可能的是检查网络 Hook 中已发布的条目并评估代码是否应该执行。也许可以在直接通过 API 发布时设置隐藏字段。

例如,假设您有一个字段 publishedThroughAPI,您确保该字段在交付 API 中被省略且不可编辑: enter image description here

然后在通过 JavaScript API 发布之前将此字段设置为 true,并在 Webhook 中检查此字段,如果该字段设置为 true,则只需从 Hook 中返回即可。

Webhook 将收到包含您发布的条目的有效负载。基本上与普通请求相同的有效负载,不同之处在于它将包含每个区域设置。下面是一个小例子:

{
   "sys": {
         //System meta data, created at, published at etc.
    },
   "fields": {
       //All fields of the entry.
       "title": {
            "en-US": "English title",
            "sv-SE": "Swedish title"
       },
       "publishedThroughAPI": {
            "en-US": true,
            "sv-SE": true
       }
   }
}

关于javascript - Contentful:使用 Content Management API 时防止触发 Webhook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44380971/

相关文章:

php - header 位置不适用于实时服务器,但适用于本地主机

javascript - 检索 ajax 函数内的每个 Php 循环变量

javascript - 在自定义渲染函数中返回 Vue 组件以获取内容丰富的嵌入条目

Contentful CMS 未正确显示数据

javascript - javascript 中的 http 请求对象参数无法识别

javascript - 表单验证问题。 Javascript/HTML

javascript - 使用 Iframe 加载 facebook 注销 URL

javascript - 在 html 中包含 html,jquery load 不起作用

javascript - KnockOut.JS 选项文本

php - 提交表单数据后,页面未在 laravel 中正确加载