GASでRSSを取得してTwitterにbotで自動投稿したいが上手くいきません。
質問
タイトルの通り以下のGASにてRSSを取得してTwitterに自動投稿するべく以下のようなプログラムを書きましたが上手くいきませんでした。
コード
//認証用インスタンスの生成
var twitter = TwitterWebService.getInstance(
'XXXXXXXXXX',//API Key
'XXXXXXXXXXXXXXXXXXXXXXX'//API secret key
);
function autoTweet() {
// feedURL
var feedURL = 'XXXXXXXXXXXXXXXXX';
// フィードを取得
var response = UrlFetchApp.fetch(feedURL).getContentText();
var xmldocs = XmlService.parse(response);
var root = xmldocs.getRootElement();
// XMLをパース
var channel = root.getChild('channel');
var items = channel.getChildren('item');
for(var i = 0; i < items.length; i++) {
var description = items[i].getChild("description").getText(); // 記事タイトル
var url = items[i].getChild("link").getText(); // 記事URL
// タイトルの文字数が多かったら適当な文字数で切り詰め
if(description.length > 280) {
description = description.substring(0, 279) + '…';
}
// 投稿するテキストをつくる
var tweetText = description + ' ' + url;
// 投稿
var service = twitter.getService();
var endPointUrl = 'https://api.twitter.com/1.1/statuses/update.json';
var response = service.fetch(endPointUrl, {
method: 'post',
payload: {
status: tweetText
}
});
}
}
エラー内容
Exception: Request failed for https://api.twitter.com returned code 403. Truncated server response: {"errors":[{"message":"You currently have Essential access which includes access to Twitter API v2 endpoints only. If you need access to this endpo... (use muteHttpExceptions option to examine full response)
いろいろなページを参考にして書いてみましたがイマイチ上手く動かず、どなたかご教示頂けたら幸いです。
0