Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Twitter API
Twitter API 有料化
Twitter API は、そのほとんどが有料化されました。
ツイートの取得が可能な "Basic" アクセスは $100/月です。
無料の "Free" アクセスでは、ツイートの投稿しかできません。
以下の情報は、$100/月を支払う人のために残しておきます。
Twitter API
Twitter 社は多様な API を公開しており、ユーザが Twitter のページでできることは API でもほぼできるようになっている。
ただし、API の場合にはリクエスト数(頻度)の制限が厳しく、したいことが現実的に可能かどうか見極めが必要となる。
Twitter の API は仕様変更が多く、Webにある情報を参照する際には注意が必要 である。
現在の API は API v2 であるが、多くの情報は v1.1 に対応したものである。
APIの種類と仕様
ライブラリを使う場合には API を直接叩くわけではないが、
パラメータの値の範囲など、API の仕様書を参照すべきことも多い。
Twitter API v2 (twitter)
アクセスレベル:
Essential: 基本レベル。登録が容易。API v1.1 は使えない。
Elevated: 上級レベル。API v1.1 も使える。
Academic Research: 研究用なので授業では使用できない。
→ 比較表
開発者アカウントを2021年11月15日より前に取得していた人は、
自動的に Elevated に変更されており、引き続き API v1.1 を利用することができる。
なお、API v2 を使い始める際には、新たに Project を作成 しアプリを紐付ける必要がある。
API の形式は通常の REST の他に、リアルタイムのデータ取得が可能なストリーミング形式の API も提供されている。
留意事項
リクエスト数の上限はリクエストの種類ごとに定められている。
例えばツイート検索では 180リクエスト/15分 (OAuth 2.0 Bearer Token で認証する場合は 450リクエスト/15分)。
なお、1回のリクエストで取得可能なツイート数は 100ツイートなので、1回の検索で数回のリクエストが必要になることもある。
ツイート検索の対象は直近1週間のみ である。
つまり Twitter の Webページで (手動で) 検索できるツイートが API では取得できない。
ストリーミングで取得可能なツイート数には上限がある。アクセスレベルが Essential の場合は 50万ツイート/月。
トレンドは API v1.1 でしか取得できない (API v2 でも提供予定であるが準備中)。
開発者登録とキーの発行
Twitter の API を使うには、まずアカウントを開発者として登録し、さらにアプリケーションを登録する。
Step-by-step guide to making your first request to the new Twitter API v2 (Twitter)
twitter に自分のアカウントでサインインしておく(電話番号の認証が済んでいる必要あり)
開発者アカウント(Essential)の登録をする。登録後、メールの認証がある。
アプリの名前を決める (世界で唯一のものをつける)
「Get key」ボタンを押すと 3つのキーが発行されるのでコピーしておく。
API Key
API Key Secret
Bearer Token
ダッシュボードにアクセスしてみる。「Project 1」というプロジェクトが自動で生成され、先ほどのアプリが属している。
自分のタイムラインを取得するなどユーザ権限が必要な API を使用する場合には、
アプリ名の右にある鍵アイコンをクリックする。
Access Token and Secret の「Generate」ボタンを押すと 2つのキーが発行されるのでコピーしておく。
Access Token
Access Token Secret
なお、これらのキーは「Read Only」の権限で生成されている。
プログラミング
ライブラリの利用
Java から Twitter API を使う場合、直接利用するのではなく、クラスライブラリを介して使うのが便利である。
最近開発者アカウント(Essential)を作成した場合には API v2 しか使えないので、
API v2 に対応したライブラリを選択する必要がある。
以下のリストの先頭の twittered については、検索とタイムライン取得のサンプルプログラムを提供している。
専用のライブラリを使わずに Json を直接扱いたい場合には、公式のサンプルコードが参考になる。