Как использовать обновленный Twitter API с node.js, «событие: поле обязательно для заполнения» - PullRequest
0 голосов
/ 30 мая 2019

Я продолжаю получать следующую ошибку при попытке использовать API Twitter для отправки прямых сообщений.

message: 'event: field is required',
  code: 214,
  allErrors: [ { code: 214, message: 'event: field is required' } ],
  twitterReply: { errors: [ [Object] ] },
  statusCode: 400 }
{ errors: [ { code: 214, message: 'event: field is required' } ] }

Твиттер недавно обновил свои API (как мне сказали), поэтому для отправки прямых сообщений теперь используется URL 'direct_messages / events / new'. Я использую модуль 'twit' для доступа к API.

export async function messageTwitter(message, recipient){
    client.post('direct_messages/events/new',{
        screen_name: recipient,
        text: message
    }, (event, error)=>{
            console.log(event)
            console.log(error)
    })
}

Я хочу, чтобы почтовый запрос был правильно отформатирован, я не могу найти в документации какую-либо информацию, объясняющую, как следует определять «событие».

1 Ответ

0 голосов
/ 30 мая 2019

После возни с ошибками, которые я получал, я понял, как отформатировать объект. Извините, я знаю, что это был глупый, плохо заданный вопрос. Вот мой обновленный код:

export async function messageTwitter(message, recipient){
    client.post('direct_messages/events/new', {
        event: {
            type: "message_create",
            message_create: {
                target: {
                    recipient_id: recipient
                },
                message_data: {
                    text: message
                }
            }
        }
    }, (event, error)=>{
            console.log(event);
            console.log(error)
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...