#はじめに
Twitter APIを使いたいと思って調べ始めると、
「利用申請が必要で、申請後にTwitter社から承認のメールが来る」
「申請しても承認されないことがある」
等の情報が出てきました。
何はともあれ申請してみよう!と申請してみたら、
仕様が変わったのか、特に審査を待つこともなくすぐに承認され、
Developer Portalの画面を操作できるようになりました。
この記事は、私が申請したとき(2021/05/03)の手順の記録です。
#なぜTwitter APIを使いたいのか
業務で、あるキーワードについてのツイート件数を調べる必要が出てきました。
「件数調べられるサイトとかあるんでしょ♪」と思って調べると、
何種類か出てきました。
サイト | 概要 |
---|---|
twimp | 3か月前まで(?)、かつ調査に時間がかかる |
Yahooのリアルタイム検索 | 1ヶ月前までのデータ |
やりたいことは、
・キーワードを含むツイートが日ごとに何件あるか、推移を調べたい。
(直近の半年分集められたら嬉しい。年毎の数も10年分とか集められたらなお嬉しい。…できるのか!?)
・キーワードで検索された件数を調べたい。
・キーワード検索時、他のどのワードと組み合わせて検索されたのか、調べたい。
です。
上記サイトだと、必要な情報が集めきれません。
調べてみると、Twitter APIなるものがあることがわかりました。
API、聞いたことはあるけど、何のこっちゃ?です。
Twitterの情報を得る為には、このAPIを使えるように、Twiiter社に対して申請する必要があるようです。
APIは、Python等で使う必要があるようです。Python...未知の世界です。
APIの使い方もよくわかっていませんが、とにかく申請してみることにしました。
こちらの記事を参考にしました。
・「2021年度版 Twitter API利用申請の例文からAPIキーの取得まで詳しく解説」-ITTI STAFF BLOG 2021.02.15更新記事
・「TwitterAPIを申請して一発で承認されるまでの手順まとめ(例文あり)+APIキー、アクセストークン取得方法」-Developers IO 2020.02.18記事
・「TwitterのAPIについて」-Twitterヘルプセンター
#必要なもの
・Twitter APIに申請したことのないTwitterアカウント(電話番号も紐づけてある必要あり??)
#API利用申請(デベロッパー登録)
Twitterにログインした状態で、Twitter DeveloperサイトへGO → 右上の「Apply」をクリック
「Apply for a developer account」をクリック
API申請の解説記事を何個か読みましたが、それらとは少し違う画面です。
用途を聞かれました。
目的は「社内プレゼン資料用に、キーワードが含まれるツイート数を調べる」ことなので、
・Proffesionalの「Building B2B products」
(I'm part of a business building solutions to help other businesses get value out of the Twitter platform.)
・Hobbyistの「Exploring the API」
(I want to explore the Twitter API to see what I can build with it)
どちらにするか、迷いました。後者の方が自分の気持ちに近そうだけど、一応仕事で使うから前者の方が良いのかな、とProffesionalを選択。
→後工程で「法人名」や「法人の公式アカウント」を入力する画面になってしまったので、
やはり「Hobbyist」に訂正。
→ その下に表示された「Get Started」をクリック。
ニックネーム、居住国、コーディングスキルレベルを入力 → 右下の「Next」をクリック。
「How will you use the Twitter API or Twitter Data?」と問われました。
私の利用目的は下記の通り。
1.Twitterで特定のキーワードが特定期間に何件ツイートされているか調べたい。
2.社内プレゼンでそのキーワードが現在どれだけ流行っているかを説明するために、その件数の数字を使いたい。
3.現段階でツイート件数を調べたいと思っているが、自分のプログラミングスキルはPythonも触ったことがないというレベル。かつ、Twitter APIのFree版でどこまで調べられるか把握しきれていないので、実際に件数取得が自分にできるかどうかはわからない。
「Are you planning to analyze Twitter data?」 → Yes。
「Please describe how you will analyze Twitter data including any analysis of Tweets or Twitter users.」
→「Twitterで特定のキーワードが特定期間に何件ツイートされているか調べたい。」を英訳して入力。
「Will your app use Tweet, Retweet, Like, Follow, or Direct Message functionality?」
→ツイート数を検索するだけで、自分でツイートしたりはしないので、「No」。
「Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?」
→同じく「No」。
「Will your product, service, or analysis make Twitter content or derived information available to a government entity?」→「No」。
右下の「Next」をクリック。
入力内容の確認画面が表示されるので確認し、「Next」をクリック。
利用規約が表示されるので確認し、ボックスにチェックを入れ、「Submit application」をクリック。
すぐに下記メールが届いたので「Confirm your email」をクリック。
真ん中に「v2」とありますね。
Twitter APIの申請方法を調べているときに、v1とv2があるらしいという情報を見ましたが、
「v2」に申請できていたようです。ホッ。
「Create Project」をクリックすれば、APIを使用していけそうです。
「Twitter API」の欄をクリックすると、
・Standard product track
・Cost:Free
・Tweet cap :500,000 Tweets / month PER PROJECT
と概要が書かれていました。
v1では、スタンダード・プレミアム・エンタープライズの3つのプランごと、別々のAPIが提供されていました。
v2では、1つのAPIに対して、Basic・Elevate・Customのアクセスレベルが設定されるようになりました。
これにより、プランの切り替え時にAPIの変更が不要になりました!
(参考:[PythonでTwitter API v2を使ってみよう。ツイートを探す編](https://qiita.com/akky-tys/items/4a1b6a11acb1fe226361)-Qiita @akky-tys さん 2020.09.30更新記事)
私は「v2 の Basic」になっているのですね。申請時の内容から振り分けられるのですかね。
・・・それにしても、パッと検索して出てきたAPI申請の記事で、同じ画面になっているものをまだ見たことがない。リニューアルしたてなのかな???
#API利用
デベロッパー登録が完了したので、早速APIを使ってみます!
「Create Project」をクリックしたら使えそうです。
##下調べ
何はともあれ下調べです。
以下4つの記事を読みました。
・Twitter API v2.0について – アプリ認証編 –-Asial Developers Blog 2020.10.09記事
・PythonでTwitter API v2を使ってみよう。ツイートを探す編-Qiita @akky-tysさん 2020.09.30更新記事
・【難解!?】Twitter APIを使って投稿データを収集する方法-「STEP3. 実際のデータの取得方法(by Python)」-GaaaOn 2020.06.21記事
・TwitterAPIを申請して一発で承認されるまでの手順まとめ(例文あり)+APIキー、アクセストークン取得方法-「APIキーとアクセストークンを取得する」-Developers IO 2020.02.18記事
まずは
・APIキー
・APIシークレットキー
・アクセストークン
・アクセストークンシークレットキー ←?
を取得する必要があるようです。
トークンって???何なんでしょうね。どうやって使うんでしょうね。
とにかく「Create Project」をクリックしてみましょうかね。
##Create Projectしてキー2種とトークンを取得
1.「+ Create Project」をクリック。
3.用途をプルダウンから選択し、「Next」。
「Build customized solutions in-house」を選択したけど、「社内プレゼン用にキーワードを含むツイート数を調べる」っていうのは、この用途で良いのか?よくわからない。
4.Projectについての説明を入力し、「Next」。
API利用申請の際に入力した利用目的と同じ内容を入力しました。
1.Twitterで特定のキーワードが特定期間に何件ツイートされているか調べたい。
2.社内プレゼンでそのキーワードが現在どれだけ流行っているかを説明するために、その件数の数字を使いたい。
3.現段階でツイート件数を調べたいと思っているが、自分のプログラミングスキルはPythonも触ったことがないというレベル。かつ、Twitter APIのFree版でどこまで調べられるか把握しきれていないので、実際に件数取得が自分にできるかどうかはわからない。
をGoogle翻訳で英訳して、
- I want to find out how many tweets of a specific keyword have been tweeted in a specific period on Twitter.
- I want to use that number to explain how popular the keyword is in an in-house presentation.
- I want to check the number of tweets at this stage, but my programming skill is at a level that I have never touched Python. Also, I don't know how much I can look up with the Free version of the Twitter API, so I'm not sure if I can actually get the number.
5.appに名付けて「Complete」。
「app-kwsearch」と名付けてみました。
6.API Key / API Secret Key / Bearea Token が発行された。
スムーズにキーとトークンが発行されました。
忘れないように、どこかに保存しておき、右上の「×」をクリック。
それぞれの説明は、横の「i」マークでされていたので、メモしておきます。
≪API Key≫
Your key is like your username. It is used to verify who you are to Twitter.
→ユーザー名みたいなもの。
≪API Secret Key≫
Your secret key is used like a password. It identifies your account. Keep this safe!
→パスワードみたいなもの。
≪Bearea Token≫
An Access Token used in authentication that allows you to pull specific data.
→「トークン」について初めて調べた。識別番号ってことかな?
→「Bearea」って何?→Google翻訳で発音聞くと、ベアラーって言ってる。どんぴしゃの説明は見つけられなかったけど、認証方式のひとつみたい。Basic認証, Digest認証, Bearer認証,...と、様々な認証方式があるようだ。
参考:Bearer Token とは?-IdM実験室 2013.09.07記事
→トークンと、他のキーの違いがいまいちわからない。追々理解していこう。
7.キーとトークンを保存したか聞かれるので「Yes,I saved them」をクリック。
8.ダッシュボードの表示が変わる。
project名、1か月にプルできるツイートの数の残、App名が表示されました。
「プル」は、引数として引いてこられるっていう意味かな?
##いよいよ!API使う!→挫折
いよいよここまで来ました!APIをたたいてみます。(←言ってみたかった)
Twitter公式に、「Tutorials / Analyze past conversations(チュートリアル/過去の会話を分析する)」という記事がありました。
ここをじっくり読めばいけるのか!?
そもそもどんな環境にそこに記載されているコードを打ち込んでいけば良いのだろう?
WindowsのPowerShellに直接打ち込めば良い???
スタートから、どうすれば良いのかわからずつまずきました。
下記記事の「1.Tweetの内容で検索をしてみよう」のコードを実行すれば、お試しにちょうど良いのかも。
Pythonだって。PowerShellに直接打ち込めば動くのかな???
・「API:Tweet recent search 」-PythonでTwitter API v2を使ってみよう。ツイートを探す編-Qiita @akky-tys さん 2020.09.30記事
だがしかし、Pythonも触ったことがない状態でいきなり打ち込んでいくのは、PC壊しそうで怖い。
今回はAPIたたくのはやめてここまでにする。
次回、記事にまとめながら挑戦しようと思う。
#未解決事項
・トークン(Bearea Token)と、他のキー(API Key/API Secret Key)の違いがいまいちわからない。追々理解していこう。
#参考
・「2021年度版 Twitter API利用申請の例文からAPIキーの取得まで詳しく解説」-ITTI STAFF
BLOG