Twitter-бот не пишет в Твиттере от лямбды и возвращает черный колбэк.Почему твиттер-бот не пишет в Твиттере, а JSON пуст по возвращении? - PullRequest
0 голосов
/ 11 декабря 2018

Итак, я пытался заставить работать очень простой твиттер-бот.Основная цель - перейти на веб-сайт, предоставленный aws lambda, и использовать это GET-посещение в качестве триггера для твита боту.Я планирую изменить триггер позже, но это самый простой способ, который я нашел для тестирования на данный момент.

Однако в настоящее время журнал отображается как «Результат выполнения: успешно» в AWS, но на веб-сайте Twitter ничего не отображаетсяа также в JSON ничего не отображается при переходе на сайт, который я посещаю (это пустой JSON).

Мне крайне непонятно, почему результат выполнения отображается как успешный, но ничего не отображается на странице Twitter или в JSON навеб-сайт.Обратите внимание, что у меня есть учетные данные бота twitter в файле config.js, и я проверил, работают ли они, запустив другой набор кода вне лямбды (с помощью базовой команды командной строки "node filename_here").Таким образом, учетные данные Twitter верны.

Обратите также внимание, что я изначально использовал безсерверный инструмент для настройки файлов, и они корректно загружаются в lambda.

Итак, вопрос в том, почему AWS показывает, что работает успешно, но ничего не отображается на щебет-боте и ничего не отображается в JSON на веб-сайте?

Вот сервер.yml-файл:

service: tweetpress

provider:
  name: aws
  runtime: nodejs8.10
  region: us-east-1
functions:
  favourite:
    handler: handler.favourite
    events:
      - http:
         path: /favourite
         method: get
cors: false

файл handler.js:

'use strict';
module.exports.favourite = (event, context, callback) => {
  const response = {
    statusCode: 200,
    body: JSON.stringify({
      message: callback
    }),
  };
  callback(null, response);
};

Также файл twitter_controller.js:

'use strict';

var Twitter = require('twitter');
var config = require('./config');

var T = new Twitter(config);

module.exports = class TwitterController {
    constructor() { }

    favourite(callback) {

        var tweet={
            status: "Hello World!"
        }

        // Initiate search using passed paramaters
        T.post('status/update', tweet, function (err, response) {
            // If there is no error, proceed
            if (!err) {
                callback("Tweet: ", response)
                context.succeed();
            } else {
                callback(err);
                context.fail();
            }
        });
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...