3分で分かるTwitterAPIの使い方 | ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

ITサポート出張、ITシステム開発・保守をワンストップで|AWSクラウド|東京都中央区八丁堀

ITオフィスサポートとシステム開発|システムガーディアン AWSクラウド導入|東京都中央区八丁堀

電話でのお問い合わせ

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歳。やせたいと思いながらも夜は酒を飲む。
必殺技:電車の乗り過ごし

 - PHP, TwitterAPI

  関連記事

twitter アクセストークン phpバージョン
twitteroauth エラーでPlesk12上のPHPのアップグレード

こんにちは。カトーです。 案件でTwitterAPI確認テストで数日前にアップされたtwitteroauth0.6.4を使おうとしたらエラーが出ておりました。 …

linux Linux
CronでのrequireがあるPHPファイル実行エラー

  cronでPHP等のちょっとしたスクリプトファイルを定期的に実行したい場合に、require等の箇所で相対パスが書かれている場合失敗します。 &n …

Apache php-fpm fastcgi
Apache環境でPHP-FPM+FastCGIを動かす設定

お客様の要件に合わせる為、色々なミドルウェアを組み合わせて環境を作ります。 今回はApache同梱のmod_phpを使わないでCGIでPHPを動作させる設定です …

スクリプトとデータベースの日付扱い
データベースからの日付扱い

こんにちは。カトーです。スクリプト組むのに欠かせないMySQLからデータ引っ張ってきて日付処理。特に差分など行うことはよくありますが、時々忘れるので、検証してみ …

PHP SQlite2 インストール
PHP5.3系でSQlite2をインストール

    SQlite2 + PHP5.3       予めyumでPHPを入れておいて、そこにSQlite2を …

phpBB
勉強でphpBB3 var3.1.9をインストールしてみた。

こんにちは。mukaiです。業務で色々なCMSを扱うのですが、今回は掲示板の王道phpBBをインストールした記録をブログに書いてみます。こういう記録は後から役に …

TwitterAPI
Twitterのタイムラインを表示する

こんにちは加藤です。 ここ数週間は出先にてお客様との打ち合わせや出先での作業が多く なかなか制作業務に中々時間を避けないのですが、 先日Twitterのタイムラ …

トップページ