Twitter API v2
前回はMatplotlibとPILを使ってX軸方向が一定範囲で追っかけていくグラフGIFアニメーショングラフ(動くグラフ)を作成してみました。
![](https://3pysci.com/wp-content/uploads/2022/07/python-matplotlib38-2-300x198.png)
今回からはTwitte APIをいじっていきます。
というのもいつの間にかTwitter APIがバージョンアップしていたようで、今後はそちらに集約されていくだろうことと、新しいアカウントに関しては新しいバージョンのAPIしか使えないということから、3PySciでも移行していこうということです。
さらに使い方がかなり変わっていて、自分自身ものすごく混乱したので、その備忘録的な面もあります。
新しく使い始める人には、このシリーズの記事が少しでも役立つといいなと思います。
そして今回は今まで古いバーション(v1.1)を使っていた人が、新しいバージョン(v2)に切り替える手順を紹介します。
Twitter API v2への切り替え(v1.1と共存)
まずは「Twitter Developer Portal」にアクセスします。
![](https://cdn.cms-twdigitalassets.com/content/dam/developer-twitter/redesign-2021-images/og-social-card/devwebsite_card_tn.jpg.twimg.768.jpg)
今回はAPIのバージョンの切り替えのため、既にアカウントを持っている人、これまでAPIを使っていた人が対象です。
新規のアカウントに対しては、Developer Portalのアカウント登録方法の解説記事を作成したいと思っていますので、今しばらくお待ちください。
ログインしたら「DashBoard」の「DEVELOPMENT APP」の「歯車マーク」をクリックします。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-1-1024x494.png)
「Settings」のページに移動しますので、下にスクロールします。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-2-1024x494.png)
「User authentication settings」の「Set up」をクリックします。
authenticationとは認証方法のことで、これによりAPIのv1.1にアクセスするか、v2にアクセスするかが決まるようです。
ちなみにまだセットアップしていない人は枠内に「Authentication not set up」と書かれています。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-3-1024x494.png)
ここで「OAuth 2.0」と「OAuth 1.0a」の2種類があります。
「OAuth 2.0」はTwitter API v2のみにアクセスできます。
「OAuth 1.0a」はTwitter API v1.1とv2.0の両方にアクセスできます。
v1.1で使えてv2.0で使えないコマンドもありますので、現状選択可能なら「OAuth 1.0a」を選択しておく方がいいと思います。
ただ先ほどもお話しした通り今後はv2がメインになっていく予定ですので、プログラム自体はできるだけv2のコマンドに改修していくのがいいでしょう。
私は「OAuth 1.0a」を選択しました。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-4-1024x494.png)
次に「OAUTH 1.0A SETTINGS」です。
「Request email from users」はこのアプリを使用するユーザーにメールアドレスを要求する項目のようです。
要求するには「プライバシーポリシー」と「Terms of service(利用規約)」をTwitter Developer Portalに登録する必要があるようです。
私の場合は自分で使うアプリの開発なのでOFFにしてあります。
重要なのが次の「App permissions」。
このアプリで制御できる範囲を設定するものです。
データを取得するだけなら「Read」でいいのですが、ツイートする場合は「Read and write」のパーミッションが必要です。
ダイレクトメッセージも送りたい場合は「Read and write and Direct message」のパーミッションにしますが、今回は「Read and write」にしてあります。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-5-1024x494.png)
「Collback URL/Redirect URL」と「Website URL」が必須項目になっているので入力します。
私の場合はウェブサイトを持っていますので、両方ともウェブサイトのURL(https://3pysci.com)を入力しました。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-6-1024x494.png)
一番下まで行き「Save」をクリックすると前の画面に戻ります。
そして「OAuth 1.0a turned on」とステータスが変わっているのを確認してください。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-7-1024x494.png)
tokenの取得
次に認証するためのtoken(トークン)を取得していきます。
画面の上に移動し、「Keys and tokens」をクリックします。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-8-1024x494.png)
移動したページにConsumer Keysに「API Key and Secret」、Authentication Tokensに「Bearer Token」、「Access Token and Secret」があります。
これを全て取得します。
また取得し直すとこれまで使っていたTokenは使えなくなりますので、アプリの稼働状況等見ながら取得してください。
取得するには「Regenerate」をクリックします。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-9-1024x494.png)
「Regenerate(再発行)するとアプリをアップデートしないと動かなくなるけどいいですか?」という確認画面が出てきます。
問題なければ「Yes, regenerate」をクリックします。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-10-1024x494.png)
Tokenが表示されますので、「Copy」をクリックしてコピーし、テキストファイル等に保存します。
「API Key and Secret」と「Access Token and Secret」はそれぞれ2つずつありますので、下にスクロールしてコピーし忘れないように気をつけてください。
またコピー&ペーストはTokenをドラッグして選択、コピーすると末端が選択し忘れたりするので、「Copy」のボタンを使うのがいいでしょう。
コピー&ペーストが終わったら、「Yes, I saved them」をクリックして前の画面に戻ります。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-11-1024x494.png)
同様にして「Bearer Token」と「Access Token and Secret」も取得します。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi24-12-1024x494.png)
これでAPIのバージョンの切り替え、Tokenの取得は完了です。
今回取得したTokenですが、「Bearer Token」がTwitter API v2用、「API Key and Secret」と「Access Token and Secret」がTwitter API v1.1用です。
必要に応じて使い分けていきましょう。
次回はTwitter API v2を使ってアカウントIDの取得、ツイートの取得を行なっていきましょう。
![](https://3pysci.com/wp-content/uploads/2022/07/twitterapi25-1-300x189.png)
ではでは今回はこんな感じで。
コメント