Итак, я пытался заставить работать очень простой твиттер-бот.Основная цель - перейти на веб-сайт, предоставленный 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();
}
});
}
}