Я использую Netlify запускаемые событиями веб-хуки , чтобы вызвать скрипт, предназначенный для публикации нового комментария в 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 , я могу передать имя, комментарий и идентификатор сообщения. Я не уверен, что мне не хватает параметра, так как я не могу найти документацию о необходимых параметрах.
// 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, в журнале функций нет ответа или сообщения об ошибке.
Спасибо