Следующая «должны» работать, чтобы получить возможность отправлять твиты с содержанием message
ниже, то есть «Lorem Ipsum Dolor ...»Twitter приложение OAuth с node.js
var OAuth = require("oauth").OAuth;
const twitterer = new OAuth( "https://api.twitter.com/oauth/request_token",
"https://api.twitter.com/oauth/access_token",
getContext().configuration.tasks.auto_tweet.apiAccessKey,
getContext().configuration.tasks.auto_tweet.apiAccessSecret,
// getContext().configuration.tasks.auto_tweet.apiPostKey,
// getContext().configuration.tasks.auto_tweet.apiPostSecret,
"1.0", null,"HMAC-SHA1");
// ... business logic
const message = "Lorem ipsum dolor..."
twitterer.post(
"https://api.twitter.com/1.1/statuses/update.json",
getContext().configuration.tasks.auto_tweet.apiPostKey,
getContext().configuration.tasks.auto_tweet.apiPostSecret,
({'status': message}),
"application/json",
function (error, data, response2) {
if(error){
failedTweets ++;
console.log("~~~~~~~~ Failed to send" , failedTweets, "tweets");
console.log(error);
}
else{ sentTweets ++; }
console.log("~~~~~~~~ Sent" , sentTweets, "tweets");
setTimeout(function(){
sendNextTweet();
},1000);
результат выше, с ключи заселен как в твиттере приложении панели эта ошибка:
`{ statusCode: 401, data: '{"errors":[{"code":89,"message":"Invalid or expired token."}]}' }`
Я теряюсь здесь - это в приложении, которое необходимо размещать в твиттер, как его собственный выделенный пользователь, и это не аутентифицировать других пользователей или что-либо в этом роде, поэтому я b elieve callback_url
не имеет значения ... и в любом случае я не знаю, что будет callback_url
, если потребуется.
- Я попытался обменять используемые ключи s.t. конструктор использует
apiPostKey
/secret, а вызовpost
используетapiAccessKey
/secret - Я создал новые ключи и обновил их конфигурацию.
- Я проверил, что сервер времени правильно
Кроме того, кнопка «Тест OAuth» на странице настроек приложения (https://apps.twitter.com/app/XXXXX/settings) дает страницу с этим сообщением «К сожалению, эта страница не существует! " на нем на https://dev.twitter.com/apps/XXXXX/oauth. Пока не ясно, что это говорит мне, однако
Однако я не использую аутентификацию только для приложений. Я использую [однопользовательский auth] (https://dev.twitter.com/oauth/overview/single-user). Моя цель здесь - это пример использования, описанный в этих документах - моя публикация приложений как сама и никто другой. Кроме того, изменение пакетов здесь нежелательно, так как я добавляю и существующую базу кода, которая работает, используя пакет OAuth для отправки твитов – Ben