3分で分かるTwitterAPIの使い方

こんにちは。カトーです。TwitterAPI案件が多いようなので、検索インデックスを狙って検証で書いてみますよ。タイトルで釣る。概要が分かれば簡単にできますから。去年も書いてますが、まぁ、色々新しくなってますしね。

TwitterAPIの仕組みと流れ

何も難しい事はありません、アプリケーションを登録して、それぞれのキーを取得。アクセストークンを利用してPOSTとGETの関数を叩くだけです。
もちろん例外処理などは必要ですが、ざっくり書けばこんな感じです。

TwitterAPItwitterAPI
お約束で書いておくと、ユーザー毎の情報を取得しますので、権限によって情報が漏れるとエラい目にあいますので、要注意と共にアプリケーションの登録鍵やトークンは変更してエラーになることを事前にチェックしつつ、例外処理を行いましょう。

TwitterOAuthをサーバーに入れる。

一から書いてもいいですが、手間ですのでありがたくライブラリを使わせてもらいます。

大変感謝です。英語でいうと、Special thanksです。
@see : TwitterOAuth:https://twitteroauth.com/
配置はこんな感じです。

twitteroauth ダウンロードして解凍したディレクトリー,twitteroauth-0.6.4をリネーム
login.php twitterの認証画面
https://api.twitter.com/oauth/authorize?oauth_token=xxxxxxxxへ
リダイレクトさせる記述
callback.php 認証後、発行されたトークンを取得するファイル

リダイレクトファイルの記述を行う。

login.phpを書いてみます。使いまわすので各種キーは定数で書きましたが、別に変数に格納でもかまいません。

ここまで書いてアクセスすれば、認証画面は飛びます。
でも戻ってきたときのcallbackが無いので、こちらも書いておきます。

 

実際にTwitterAPIを利用してみる。

実際にアクセスしてみると、アクセストークンが発行されますので、
このTwitterAPIを利用してみます。記述はこちらも簡単です。

このユーザー毎の情報があれば、ツイートさせたり、DM(ダイレクトメッセージ)を発射したりもできます。
ちなみにDMを発射するのは、

この辺の関数はREST APIsに記載があります。

https://dev.twitter.com/rest/public

定期的にルールも変更されますが、現時点でそれぞれの規制は書かれています。

 

TwitterAPI DMの制限

 

ちなみに案件でDMの検証でおこなってもいましたが、現時点で制限もあり、関数でいうとPOST direct_messages/newはAPI Rate Limitsは、

GET direct_messages 15回/15分
GET direct_messages/sent 15回/15分
  GET direct_messages/show 15回/15分
POST direct_messages/destroy 制限なし
POST direct_messages/new 制限なし (頻繁使用でアカウントを凍結される可能性あり)
参照:https://dev.twitter.com/rest/public/rate-limits

つまりダイレクトメッセージは制限ないが、15分に15回が基準になってると思うので、ホワイトリスト登録がなくなっているような雰囲気からすれば、この制限を基準に送ることになるのかな?フォーラムに情報がないかと確認してみます。

andypiper氏の2015年7月10日の書き込み
Rate limits for DMs are adaptive due to our antispam rules, but from the support page I linked you’ll see that the max is 1000 per day.
DMの制限は俺達のアンチスパムの基準で決めてるぜ、だけどリンク貼ってるから見てくれ、一日1000回ぐらいだろ(意訳)
https://twittercommunity.com/t/rate-limits-for-direct-messages/45666

ユーザー自身が自分に送れば制限がないが、プッシュされてないようだし、ここは調査ですね。
結構告知などで使ってるようだし、この辺の制限を確認かな。

カトー

この記事を書いた人:カトー

薄毛に悩む40歳。やせたいと思いながらも夜は酒を飲む。
必殺技:電車の乗り過ごし

この記事に関してのお問い合わせ
御連絡・ご返信は原則2営業日以内を予定しております。
お急ぎの場合は、お手数ですが下記電話でもご対応をしております。

システムガーディアン株式会社
受付時間:平日9:00~18:00
受付担当:坪郷(つぼごう)・加藤
電話:03-6758-9166