【2023年7月】Twitterいいね自動化をGASで行う(簡単実装)
毎日いいね周りするのが大変。
検索ワードも決まってるから、自動化できたら作業時間浮くのにな。
この記事は、このような悩みを抱えている方にピッタリの内容かと思います。
Twitterで普段行っている、いいねまわりって意外と大変ですよね。
この作業を自動化できたら、時間がすごい浮くようになると思いませんか?
今回は、Twitter API と GAS ( Google Apps Script ) を使って、特定の検索ワードに対して自動的にいいねを行っていく仕組みを作る方法を解説していきます。
記事を最後まで実装することができれば、毎日のいいねに費やす時間を、大幅にカットすることができるでしょう!
同じいいねをしていても、自動化している人、としていない人では、大きな時間の差が出ます!!!
目次(クリックで読みたい部分にジャンプできます)
2つの前提条件
まず、今回の実装をするためには、前提条件がいくつかあります。まずそれらができているか、確認してみてください!
- OAuth2によるTwitter認証ができている
- Twitter API Basicプラン以上に加入している
OAuth2によるTwitter認証ができている
今回の実装のためには、あなたのアカウントから認証を得る必要があります。
もし、まだ連携認証していなければ、以下記事の、「Twitter API と連携認証する」の章を確認し実行してください。(この認証ができてないと、この後のコードを実行しても「権限がありません」エラーが出てしまいます!)
Twitter API Basic プラン以上に加入している
現在Twitter API を利用するためには、3つのプランがあります。
その中で、無料プランだと、Twitterへの投稿と削除しかできません。
今回は、特定の相手へのフォローを実装するので、Basicプランかそれ以上のプラン加入が必要になります。
個人で運用していく場合には、Basicプランがちょうどいいかと思います。
Proプランだと、月額70万円ほどかかってしまうので、、、、
手順の解説
では、いいねをするための手順を理解していきましょう。
いいねをするまでの手順
①ツイートを検索して、リストアップ
↓
②リストアップしたツイートを、いいねする
この2つの手順で進めていきます。
今回は、いらないものを省いたコードで解説します。
入れた方が良いコードなどあるかと思いますが、まずは大元の理解をしてほしいためです。
大元の理解ができれば、ここを変えたいな!などと考えることができるようになります。
必要になれば、どんどん変えちゃってください!!
「ツイートを検索してリストアップ」するコード
まずは、ツイートを検索してリストアップするコードを解説していきます。
以下コードをコピペしましょう。
MAX_RESULTS と API KEY , API SECRET KEY は設定する必要があります!!
const API2_BASE_URL = "https://api.twitter.com";
const URL_GET_SEARCH = "/2/tweets/search/recent";
const MAX_RESULTS = 10;//取得する最大数(10-100で設定可能)
var twitter = TwitterWebService.getInstance(
'<API Keyを入力>',//API Key
'<API Secret Key を入力>'//API secret key
);
function getTweets() {
const rawKeyword = "検索したいワード";
//検索キーワード(URI Encodeが必要)
const keyword = "?query=" + encodeURIComponent(`${rawKeyword} -is:retweet -has:mentions lang:ja `);
//検索オプション
let option = `&tweet.fields=author_id,id,text,created_at&max_results=${MAX_RESULTS}`;
//検索キーワードとURL構築
const url = API2_BASE_URL + URL_GET_SEARCH + keyword + option;
//リクエスト実行
const service = twitter.getService();
const response = JSON.parse(service.fetch(url));
console.log(response)
const tweets = response.data;
console.log(`${tweets.length}件の「${rawKeyword}」に関するツイートを取得しました`);
tweets.forEach(tweet => {
console.log(tweet)
console.log(`${tweet.id}: ${tweet.text}`);
})
return {
tweets: tweets,
};
};
ここで、出力することができた「tweet.id 」はいいねをするときに使います。
スプレッドシートに書き込んでおくなどの処理を入れておくと良いでしょう!!
ツイート検索のAPI制限
ツイート検索には、APIの制限があります。実行回数がこれを超えるとエラーになります。
60リクエスト / 15分
ただ、エラーが起きても、凍結されるなどの心配はないです!!
リクエストができなくなるだけですので、ご安心ください。
「リストアップしたツイートを、いいねする」のコード
先ほど、取得したTweet ID に対して、いいねを行っていきます。
以下のコードをコピーしてください。
あなたのTwitter ID と先ほど取得したツイートのIDを設定するようにしてください。
あなたのTwitter ID は次から取得することができます!
const TWITTER_USER_ID = "<あなたのTwitter ID>";
const URL_POST_LIKE = `/2/users/${TWITTER_USER_ID}/likes`;
const tweetId = "<いいねするツイートのID>"
function like_main() {
if(postLike(tweetId) {
console.log("いいね成功!");
} else {
console.log("いいね失敗!");
}
}
// いいねする
function postLike(tweetId) {
try {
const service = twitter.getService();
const url = API2_BASE_URL + URL_POST_LIKE;
const payload = {
"tweet_id": tweetId
};
const response = JSON.parse(
service.fetch(url, {
'method': 'POST',
'contentType': 'application/json',
'payload': JSON.stringify(payload),
"muteHttpExceptions" : true,
})
);
console.log(response);
return response.data.liked; //成功したらtrueが返る
} catch(e) {
console.error(e);
}
}
いいねのAPI制限
いいねをAPIから実行する場合のAPI制限は意外と厳しく、15分に5回までとなっています。また、1日あたりの回数も200回と制限があるので、引っかからないように組むことが大事ですね。
これで、いいねを実行するためのコードは終了です!
まとめ
いかがでしたでしょうか?これで、Twitter API を利用した自動いいねは終了です!
これを実装すると、日々のいいねを一定数稼ぐことができるので、アカウントが伸びやすくなりますね!!
ぜひ導入してみると良いです!!