Contentful - 如何从 React/Node.js 环境更改字段值?
Contentful - How to change the field value from the React/Node.js environment?
是否有任何方法可以更改来自 React 应用程序的特定 Entry 的 Content Type 中某些字段的值。我想模拟 like/dislike 按钮。因此,当用户单击按钮时,我想在特定 Entry.
上更改 CMS 中的特定值
有没有办法,例如,在 React.或者更确切地说,因为我正在从 Node.js 环境中进行 API 调用。
您可以为此利用 Contentful 管理 API。 Here's an example showing how to up a title
field.
client.getSpace('<space_id>')
.then((space) => space.getEnvironment('<environment-id>'))
.then((environment) => environment.getEntry('<entry_id>'))
.then((entry) => {
entry.fields.title['en-US'] = 'New entry title'
return entry.update()
})
.then((entry) => console.log(`Entry ${entry.sys.id} updated.`))
.catch(console.error)
要将数据写入 Contentful,您必须创建一个具有 WRITE
权限的令牌。通常,人们会在 API 密钥部分为此创建一个个人访问令牌。
⚠️ 但请确保不要泄露您的个人访问令牌。此令牌与创建它的 logged-in 用户具有相同的访问权限。这意味着,您不应在 React 应用程序中使用具有 WRITE
权限的个人访问令牌。人们可以找到它并接管您的 space.
如果您的 React 应用程序正在与您控制的 Node.js 后端通信,那是安全的。
是否有任何方法可以更改来自 React 应用程序的特定 Entry 的 Content Type 中某些字段的值。我想模拟 like/dislike 按钮。因此,当用户单击按钮时,我想在特定 Entry.
上更改 CMS 中的特定值有没有办法,例如,在 React.或者更确切地说,因为我正在从 Node.js 环境中进行 API 调用。
您可以为此利用 Contentful 管理 API。 Here's an example showing how to up a title
field.
client.getSpace('<space_id>')
.then((space) => space.getEnvironment('<environment-id>'))
.then((environment) => environment.getEntry('<entry_id>'))
.then((entry) => {
entry.fields.title['en-US'] = 'New entry title'
return entry.update()
})
.then((entry) => console.log(`Entry ${entry.sys.id} updated.`))
.catch(console.error)
要将数据写入 Contentful,您必须创建一个具有 WRITE
权限的令牌。通常,人们会在 API 密钥部分为此创建一个个人访问令牌。
⚠️ 但请确保不要泄露您的个人访问令牌。此令牌与创建它的 logged-in 用户具有相同的访问权限。这意味着,您不应在 React 应用程序中使用具有 WRITE
权限的个人访问令牌。人们可以找到它并接管您的 space.
如果您的 React 应用程序正在与您控制的 Node.js 后端通信,那是安全的。