这是我想要完成的任务?
1- 每晚对新闻 API 进行 fetch 调用 2- 获取最新头条新闻 3- 导入到 Sanity...
理智允许你这样做吗?它有 cron 任务吗?
谢谢,
这是我想要完成的任务?
1- 每晚对新闻 API 进行 fetch 调用 2- 获取最新头条新闻 3- 导入到 Sanity...
理智允许你这样做吗?它有 cron 任务吗?
谢谢,
Sanity 没有提供任何本地方式来执行此操作,但您可以使用外部无服务器提供程序创建 cron 作业,该提供程序执行您正在寻找的功能
Firebase 计划函数是提供程序的一个示例,但还有更多选项。我建议看一下无服务器框架示例。
在你弄清楚你将使用什么之后,然后使用Sanity 的 HTTP API或他们的 API 客户端之一(@sanity/client
用于 Javascript)将数据添加到其中。您需要一个令牌来执行此操作,因为 POST 请求受到身份验证墙的保护(查看他们的身份验证文档)。
这是 Javascript 中的示例:
// For Javascript - using the @sanity/client npm package
const allHeadlines = await pullHeadlines(/* ... */);
// Create a single transaction that will handle
// the creation of all headline documents
const transaction = sanityClient.transaction();
for (const headline of allHeadlines) {
transaction = transaction.create({ title: headline.title, ...headline });
}
transaction
.commit()
.then((res) => {
console.log("All headlines created");
// Finish the cron job here
})
.catch((error) => {
console.error("Couldn't create the headline documents", error);
// Maybe retry it here?
});
希望有帮助,帖木儿