🌊

GASでTwitterのAPIを使用して、ツイートの内容を取得する

2021/01/28に公開

前回、以下の記事でTwitterのDeveloperアカウントに申請する内容について書きました。

https://zenn.dev/specially198/articles/9d1ce6c797bb5b

今回は、TwitterのAPIを使用してツイートの内容を取得してみます。

TwitterのDeveloperアカウントが審査完了した旨のメール

前回の記事で承認された旨のメールが届いた部分まで紹介しました。
以下のメールから「developer account」のリンク部分をクリックします。

TwitterのDeveloperアカウントが承認されたメール

アプリケーションの名前を登録

メールのリンクから開くと、以下のページが表示されます。
最初にアプリケーションの名前を設定する必要があります。
この名前は後からでも変更できるので、気軽に入力してください。

アプリケーションの名前を設定する

TwitterのAPIで使用するキーを保存する

次の画面では、TwitterのAPIで使用する各種キーが表示されます。
このキーはここでしか確認できないため、しっかり保存しておいてください。
また、保存する時は安全な場所に保存してください。

キーを保存できたら、「Test an endpoint」をクリックします。

TwitterAPIのキーを確認

再度、各種キーが表示されます。
確認OKであれば、「Yes, I saved them」をクリックします。

TwitterAPIキーの確認

ツイートの内容を取得する

次の画面では、「試してみましょう」ということで、ツイートの内容を取得できるかを試してみます。

左側の「Select a sample Tweet」というところからツイートを選択すると、右上にそのツイートを取得するためのリクエスト情報が表示されます。

ツイートの内容を取得してみる

上記の情報を元に、GASでツイートの内容を取得してみます。

function test() {
  var url = "https://api.twitter.com/2/tweets/20";
  var options = {
    "method": "get",
    "headers": {
      "authorization": "Bearer [ここに自身のBearer tokenを入れる]"
    },
  };
  var response = JSON.parse(UrlFetchApp.fetch(url, options));
  Logger.log(response);  
}

ツイートの内容を取得するには、Bearer tokenを使用します。
6行目に上記で保存したBearer tokenを入力してください。

実行すると、以下のようにログが出力されます。
上記の画面で右下に表示されていたレスポンスの内容と同様の内容が取得できたことが確認できました。

ツイートの内容を取得したログ

ここまでで、サンプルのツイートの内容を取得することができましたが、自身のアカウントのツイートも取得できるか確認してみます。
以下のツイートを取得してみます。

https://twitter.com/specially198/status/1353946365013856257

このツイートはURLが
https://twitter.com/specially198/status/1353946365013856257
となっています。

2行目のURLの部分を以下のように書き換えます。

function test() {
  var url = "https://api.twitter.com/2/tweets/1353946365013856257";
  var options = {
    "method": "get",
    "headers": {
      "authorization": "Bearer [ここに自身のBearer tokenを入れる]"
    },
  };
  var response = JSON.parse(UrlFetchApp.fetch(url, options));
  Logger.log(response);  
}

ツイートを取得するAPIは
https://api.twitter.com/2/tweets/ツイートのID
となっており、ツイートのIDはツイートのURLの末尾部分となります。

ツイートのURLは上述の通り、
https://twitter.com/specially198/status/1353946365013856257
となっており、末尾の
1353946365013856257
の部分がツイートのIDになります。

実行してみると、以下のようにツイートの内容が取得できました。

ツイートの内容を取得したログ

Discussion