【问题标题】:How to perform certain action when a post is created in Strapi CMS?在 Strapi CMS 中创建帖子时如何执行某些操作?
【发布时间】:2021-07-11 12:36:04
【问题描述】:

我正在使用 Strapi CMS 来处理 NoSQL 数据库的数据。 所以,当我在 Strapi CMS 上发布博客时,我想做的是在 Medium 上发布博客。

我拥有使用 API 在媒体上发布它的所有凭据。

所以,问题是如何实现这一点,如何在创建或更新帖子时在 Strapi CMS 中执行某个操作,以便我可以获取数据并发送到Medium通过 POST 请求。

【问题讨论】:

标签: javascript node.js rest content-management-system strapi


【解决方案1】:

所以经过Ghosh 的一些研究和指导,我开始了解 Strapi 默认提供的 webhook。

这些钩子有点像 React 生命周期钩子

更多关于钩子的信息:Here

所以对于我来说,我必须添加一个钩子,它会在创建博客文章后触发一些操作。 所以,在api/blog/models/{blog}.js,我添加了这段代码

"use strict";
const fetch = require("node-fetch");

module.exports = {
  lifecycles: {
    async afterCreate(data) {
      const body = {
        title: data.title,
        contentFormat: "markdown",
        content: data.blog_data,
        tags: [],
      };
      const response = await fetch(
        `https://api.medium.com/v1/users/${process.env.CLIENT_SECRET}/posts?accessToken=${process.env.ACCESS_TOKEN}`,
        {
          method: "POST",
          headers: { "Content-Type": "application/json" },
          body: JSON.stringify(body),
        }
      );
    },
  },
};

【讨论】:

    猜你喜欢
    • 2017-08-08
    • 2015-10-24
    • 2023-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    相关资源
    最近更新 更多