我正在使用Netlify event-triggered webhooks来调用旨在向WordPress API发布新评论的脚本。我正在尝试实现wpapi来发出POST请求,但不确定是否正确连接了。
exports.handler = async (event, context, callback) => {
let body = JSON.parse(event.body).payload
if (body.form_name == 'comment-form') {
// I assume I have to authenticate here
var wp = new WPAPI({
endpoint: 'https://example.com/wp-json',
username: 'username',
password: '123456'
});
...
然后我形成要传递的数据...从WordPress REST API可以看出,我可以传递名称,评论和帖子ID。我不确定是否缺少参数,因为找不到任何有关必需参数的文档。
// url encode - not sure if this is required
let comment = {
author_name: encodeURI(author_name),
author_comment: encodeURI(author_name),
post: body.data.postId
}
然后我尝试调用wp.comments().create()
传入对象并设置回调:
wp.comments().create(comment, function(args) {
console.log(args) }
).then(function( response ) {
console.log( response );
}).catch(function (err) {
console.log(err);
});
我正在Gatsby项目中使用此功能,并自动使用gatsby-source-wordpress从WordPress网站提取数据,如果有什么不同的话。
当我在Netlify中运行此功能时,在功能日志中,没有响应或错误消息。
谢谢