ワイモバイルでPayPayボーナス大幅還元!回線料金も安い!

最終更新 [2015年7月22日]





TwitterAPI 1.1 REST、TwitterOAuthの使い方、設定方法、オプション、PHPで実際に使う時のコードの書き方などのまとめです。

PHPからTwitter API1.1を操作する作業(TwitterOAuth絡み)があったのでメモりがてら使い方をまとめました。
TwitterOAuthをちょっと変更したりとPHPで使うために微妙にハマりました。。

■今回使った環境とやったこと

【要件】
PHPを実行して自動つぶやきとダイレクトメッセージを送信する
(Twitterアカウントは自分のもの)

・PHP 5.3.3
・TwitterAPI 1.1
・TwitterOAuthは20156/15付けで更新されているバージョンのもの


APIの項目一覧などもできる限り作っていまっす。
PHPなどからTwitterを操作するアプリ作成(つぶやきbotやダイレクトメッセージ送信機とかもいける)をされる人の役にちょっとでも立てれば嬉しいでっす。


TwitterAPI 1.1 REST&TwitterOAuthの使い方(PHPコードあり)

アプリを使うTwitterアカウントでログイン

https://twitter.com/

何にしてもTwitterにログインしていないと始まりませんので↑からTwitterにログインします。
新規登録してそのままログインでもOKです。

先に注意!電話番号認証済のTwitterアカウントじゃないとアプリが作れない

Error
You must add your mobile phone to your Twitter profile before creating an application. Please read https://support.twitter.com/articles/110250-adding-your-mobile-number-to-your-account-via-web for more information.

が、Twitter Application ManagerのTwitter Appsを作成する場合、電話番号認証が終わったアカウントが必須となります。
昔はこんなのなかった気がしたのですが、電話番号認証がいつの間にか必須になったんだなぁ。。

電話番号認証が済んでいない場合、アプリケーションを作ろうとすると電話番号認証してないユーザーだよというエラーが表示されます。
アプリの作成は↓に書いていきますが、先に電話番号認証済Twitterアカウントが必須のことのみ書いておきまっす。

Twitter Application Managerでアプリ作成、キー取得

https://apps.twitter.com/

Twitterにログインした状態で↑のTwitter Application Managerにアクセスします。
「Create New App」をクリックします。

作成するアプリの概要を決めます。

Name:アプリケーションの名前(表示名)
Description:アプリケーションの説明(英数字10文字以上)
Website:アプリを使うウェブサイト
Callback URL:アプリを認証した後にジャンプするURL


ちゃんとユーザーにアプリとして提供したりする場合は、Callback URLなどを適切な設定をしておかないといけませんが、今回のように自分のアカウントで自分だけが使う場合は、基本的にアバウトでOKです。

最後に定番の読めない規約に同意するため、「Yes, I agree」にチェックを入れて「Create your Twitter application」をクリックします。

↑「usedoor test」というアプリケーションを作ってみたところ。

Access tokenとAccess token secretを作成

アプリページの上部にある「Keys and Access Tokens」をクリックします。
表示されているものは、一旦置いといて、下部にあるYour Access Tokenの下のボタン「Create my access token」をクリックします。

この画面になればOKです。

・Consumer Key (API Key)
・Consumer Secret (API Secret)
・Access Token
・Access Token Secret


この画面上に書いてある↑を後から使うことになるのでメモっておきます。

ダイレクトメール関連を使うならパーミッションを変更

ちなみに自動ツイートなどはこれでOKですが、ダイレクトメッセージ関連を使う場合は、アプリのページ上部の「Permissions」タブからアプリのアクセス権限を「Read, Write and Access direct messages」に変更しておく必要があります。


これでTwitter側の設定は完了となります。


PHPを使う!TwitterOAuthをダウンロード

https://github.com/abraham/twitteroauth

GitHubからTwitterOAuthをダウンロードします。
↑にアクセスして、ページ右にある「Download ZIP」をクリックしてダウンロードします。
ダウンロードしてきたtwitteroauth-master.zipファイルを解凍します。
ちなみにこの記事作成時のTwitterOAuthの最終更新日は2015/6/16となっていました。

解凍したフォルダ「twitteroauth-master」をPHPからTwitterAPIを使うサーバーにそのままアップロードします。

TwitterOAuthを実行する自前のphpを作成

実際にTwitterアカウントを動かす処理を書く自前のPHPを作成します。
今回は、tw.phpという名前にして↑でアップロードした「twitteroauth-master」と同じディレクトリ階層にアップロードします。

ここでは、とりあえずtw.phpの中身は空で大丈夫でっす。


これで準備完了となります。

【PHPコード】TwitterAPIを実行するPHPを書く(tw.php)

phpにはエラー表示させておいた方がいいかも

使っているサーバーの環境やphp.iniの設定によってはPHP上にエラー表示をさせてないというパターンがあると思います。
TwitterAPIをポチりにいっていてエラーが出た際にエラー内容が表示されないと何がなんだかわかりません。。

なので自分は、今回作成するPHP(tw.php)のアタマにエラーを吐き出す設定にしておきました。

を書き加えるだけでOKです。

TwitterOAuthの中にあるautoload.phpを読み込む

TwitterOAuthの中にあるautoload.phpを読み込み、使用する宣言を書いておきます。

Twitter認証情報を書き込む

Twitterアプリのページから取得した接続情報4つを持ってTwitterOAuthと接続します。

いざ実行!とりあえずPHPを使ってツイートしてみる。

↑は「statuses/update」という「新規つぶやきを行う」リソース。
オプションの「status」はツイートの内容になります。

これを実行すれば「これはPHPから実行してツイートしまっした。」というツイートが投稿されていると思います。

PHPで自動ツイートする全コード

まとめてしまえば非常にシンプルでっす。


TwitterOAuthで表示されたエラーと対応方法(自分に出たやつ。。)

src/TwitterOAuth.php on line 334

Parse error: syntax error, unexpected ‘[‘ in twitteroauth-master/src/TwitterOAuth.php on line 334

なぜか1ミリも触っていない「TwitterOAuth.php」にてsyntax error。。
これTwitterOAuth.phpの一部を↓のように変更することで直りました。

■変更前
if (in_array($method, [‘GET’, ‘PUT’, ‘DELETE’]) && !empty($postfields)) {
↓↓
■変更後
if (in_array($method, array( ‘GET’, ‘PUT’, ‘DELETE’) ) && !empty($postfields)) {

配列の渡し方の問題ってこと…?

ダイレクトメッセージを送る処理でOAuthRequest()が『Call to private method』

Fatal error: Call to private method Abraham\TwitterOAuth\TwitterOAuth::OAuthRequest() from context

こちらはダイレクトメッセージ送信を行う処理(->OAuthRequest)を使ったときに発生したエラー。。
「TwitterOAuth.php」にあるfunctionのoAuthRequest()がprivateになっているから触ることができずエラーになっているようです。
privateを消してやれば普通に実行できます。

■変更前
private function oAuthRequest($url, $method, array $parameters)
↓↓
■変更後
function oAuthRequest($url, $method, array $parameters)

自分で試した感じでは、privateをハズしても特に他の動きに影響はなさそうでした。
はっきり言ってもっと正当なやり方があるとおもいますが、とりあえずprivate消すだけで動くことは動きます。

TwitterAPI 1.1 REST&TwitterOAuthで使えるAPIまとめ紹介

REST APIを使うにはOAuth認証が必須でっす。
APIのバージョンが1.1になって取得できるデータはjsonからのみとなっています。
1.0からボチボチと変更点がありますので1.0を使っていたユーザーさんは覚えておいた方がよさそうです。

REST APIは大量に用意されています。
本家TwitterDevelopersページにて全て紹介されていますが、まぁ英語。。

そんな中、DX.univさんがものすごく丁寧に『TwitterAPI1.1 REST API 全項目解説』という記事を書かれていて、とーってもわかりやすかったので紹介します。

基本的にTwitterでできることならほとんどできるREST API
PHPなどからガンガン操作できるのでいろいろと試してみてくださいな。

[リンク]
マジでわかりやすい!【保存版】TwitterAPI1.1 REST API 全項目解説
本家TwitterのREST APIsページ


< この記事をシェア >






この誰でも作れる「つぶやきbot」や「ダイレクトメッセージ送信機」 PHPでTwitterを操作する方法【TwitterAPI 1.1 REST&TwitterOAuth】の最終更新日は2015年7月22日です。
記事の内容に変化やご指摘がありましたら問い合わせフォームまたはusedoorのTwitterまたはusedoorのFacebookページよりご連絡ください。

現在開催中の「おトク」なキャンペーン、セール

【実質1円!!】楽天モバイル(UN-LIMIT)の『AQUOS sense4 lite』を激安で購入する方法 – 値下げ&超大幅ポイント還元で実質1円に

キャンペーン

楽天モバイル正式対応のSIMフリーAndroidスマホ「AQUOS sense4 lite」が実質1円と投げ売り!販売価格-ポイント還元が1円に

【投げ売り!!】ドコモ「arrows Be4(F-41A)」を超激安で購入する方法 – 機種変更でも12,760円!ahamoユーザーにもオススメ

Androidスマホ

ドコモのAndroidスマホ「arrows Be4(F-41A)」が機種変更でも大幅割引!一括12,760円と激安で買えちゃう

【オススメは?】eSIMに対応しているキャリア・格安SIMまとめ&比較 – 月額料金やデータ容量別に比べてみた。eSIMをおトクに利用する方法

携帯電話

eSIM発行に対応しているキャリア、格安SIMを徹底的にまとめてみた。料金とデータ量などで自分にあうオススメのeSIMを見つけよう

LINEMOを通常よりもおトクに契約する方法、キャンペーンまとめ – PayPayボーナス最大10,000円相当キャッシュバック!

携帯電話

LINEMO契約で最大10,000円分還元の「PayPayボーナスあげちゃうキャンペーン」開催中!その他にも割引特典などあり。キャンペーンをまとめました

【最大3万円還元!】ソフトバンクのAndroidスマホを購入して高額キャッシュバックをGETする方法

携帯電話

ソフトバンクのAndroidスマホを購入するとキャッシュバックがもらえるぞ!さらにクーポンでPayPayボーナスももらえる!


≫ 開催中のキャンペーンをもっと見る

usedoorの新着記事をチェック!

記事を書くヤル気が出るのでフォローよろしくお願いしますm(._.)m


キーワード:bot , PHP , ダイレクトメッセージ , 開発コード ,


同じカテゴリの記事

【povo】『#ギガ活』でモバイルデータ通信量を貯める方法 – 対象店舗/サービス、条件、特典まとめ。FIND povoも登場予定

携帯電話

povo 2.0で街の買い物などでギガが貯まる「#ギガ活」開始!モバイルデータ通信量が貯まる対象店舗やサービスをまとめてみた

【ドコモ】iPhone 13 / 13 mini / 13 Pro / 13 Pro Maxの契約別価格&割引、キャンペーンでおトクに購入する方法

携帯電話

2021年発売のiPhone 13シリーズ。ドコモ版の各モデル、契約別価格、割引やキャンペーン、おトクに購入する方法をまとめています

ソフトバンクのiPhone Xを購入して高額キャッシュバックをGETする方法

携帯電話

iPhone Xで高額キャッシュバックがもらえるのは超激熱!

ソフトバンクの問い合わせ(総合案内)でオペレーターにつなぐ方法

携帯電話

自動音声じゃなくて、人間(オペレーター)に直接聞きたい!直通はない?

【LINEMO】データ通信量(データ残量、使用量)を確認する方法

携帯電話

My MenuからLINEMOのデータ残量、使用量などデータ通信量を確認する手順をご紹介。


新着記事

【毎月10日&20日】最大40倍還元+α!『dショッピングデー』でおトクに買い物する方法 – dポイント消化にも。条件&事前エントリーあり

セール

毎月20日だけ!dポイント20倍&ポイント利用分20%還元で超おトクにdショッピングで買い物ができる

【5と0のつく日はポイント5倍 or 7倍!!】楽天市場でお得にお買い物する方法

キャンペーン

楽天カードを持っている人は必見です!毎月5の倍数の日はポイント最大7倍!ただし楽天ゴールドカードは条件が改悪…

【0のつく日】dポイント20倍など!d fashion、dブックでおトクに買い物する方法

ショッピング

d fashion、dブックで0のつく日にdポイント20倍還元などのキャンペーンをストア同時開催中!

【限定モンスターパッケージ&限定カラー】ケイト「ミニリップモンスター」を予約・購入する方法

ショッピング

ケイトの落ちにくい口紅「リップモンスター」の限定モンスターパッケージ&限定カラーが数量限定で発売!全4色で、価格は各880円(税込)

【iPhoneが一括480円~!!】ソフトバンク認定中古品「SoftBank Certified 認定整備済み iPhone」を購入する方法 – オンラインショップ限定

携帯電話

ソフトバンクが厳選した認定整備済みのiPhone「SoftBank Certified 認定整備済み iPhone」の販売がスタート!人気のiPhoneが一括480円~で買える!


≫ 新着記事をもっと見る

usedoorTOPへ戻る

usedoorをフォロー


  • 注目の使い方

    【ドコモ】『ギガホ』『ギガライト』徹底まとめ – ギガホ プレミア登場!データ無制限で割安回線、Amazonプライム無料特典など。携帯料金をおトクにする方法

    ドコモの分離プラン「ギガホ」「ギガライト」に特典が続々追加!2021年4月からは値下げした「ギガホ プレミア」が登場!


    ふるさと納税でYogibo(ヨギボー)のビーズクッションをGETする方法 – 人をダメにするソファが返礼品に登場!モデル/サイズ/カラー/寄付金額/自治体まとめ

    ふるさと納税の返礼品に大人気ビーズクッション、ソファ「Yogibo(ヨギボー)」の商品が幅広いラインナップで登場!


    Dropbox Plus(有料版)を超おトクに購入する方法 – ソースネクストの3年版がコスパよし!しかも最安値保証&返金あり

    公式は値上げ!あのおトクなDropbox Plus3年版がついに復活!有料版のPlusを契約するならソースネクスト経由でどうぞ!


    【神対応すぎる】バルミューダのトースターが壊れた時の申請方法 – 修理依頼を出したらまさかの新品しかも新型への交換に。逆に申し訳なさすぎる…

    バルミューダ ザ・トースターが壊れたので修理見積依頼を出したらまさかの新型新品への無償交換に。。こちらが申し訳ないと感じるレベルの神対応…


    『ポケオ』とは?事前に注文するテイクアウトサービスの使い方&支払い方法 – 実際にガストで注文してみた。使えるお店やクーポンまとめ。運営は出前館に

    ガストや松屋のテイクアウトを事前注文⇒待たずに商品が購入できるポケオ(旧:LINEポケオ)を使ってみた。クーポンやキャンペーンも多々開催!


    注目の記事をぜんぶ見る

  • 最新記事

    【毎月10日&20日】最大40倍還元+α!『dショッピングデー』でおトクに買い物する方法 – dポイント消化にも。条件&事前エントリーあり

    毎月20日だけ!dポイント20倍&ポイント利用分20%還元で超おトクにdショッピングで買い物ができる


    【5と0のつく日はポイント5倍 or 7倍!!】楽天市場でお得にお買い物する方法

    楽天カードを持っている人は必見です!毎月5の倍数の日はポイント最大7倍!ただし楽天ゴールドカードは条件が改悪…


    【0のつく日】dポイント20倍など!d fashion、dブックでおトクに買い物する方法

    d fashion、dブックで0のつく日にdポイント20倍還元などのキャンペーンをストア同時開催中!


    【限定モンスターパッケージ&限定カラー】ケイト「ミニリップモンスター」を予約・購入する方法

    ケイトの落ちにくい口紅「リップモンスター」の限定モンスターパッケージ&限定カラーが数量限定で発売!全4色で、価格は各880円(税込)


    【iPhoneが一括480円~!!】ソフトバンク認定中古品「SoftBank Certified 認定整備済み iPhone」を購入する方法 – オンラインショップ限定

    ソフトバンクが厳選した認定整備済みのiPhone「SoftBank Certified 認定整備済み iPhone」の販売がスタート!人気のiPhoneが一括480円~で買える!


    最新記事をもっとチェック

  • usedoorをフォロー


  • 現在開催中の"おトク"なセール、キャンペーン、お買い得アイテムまとめ

    【1月31日まで】au PAYマーケットで1円以上で使える1,000円オフクーポンを最大6枚ゲットする方法 – スマートパスプレミアム入会特典がアツい!

    auスマートパスプレミアム会員になるとau PAYマーケットで1円以上の買い物で使える1,000円オフクーポンが最大6枚もらえる!


    【値上げ…】Amazonプライムで使えるサービスを使い倒す方法&年会費の元が取れるキャンペーンまとめ

    5月17日から4,900円/年に値上げ。でもこれだけのサービスが使えれば年会費は惜しくない!プライム会員の人は使えるサービスをフルに使い倒してみて!


    【最大39,050円割引!!】誰でもOK!『ドコモオンラインショップ限定 機種購入割引』でAndroidスマホをおトクに購入する方法 – 機種のみ、白ロム購入もできる!

    ドコモオンラインショップで「Xperia 5 II」「AQUOS sense5G」「LG V60 ThinQ 5G」が大幅割引!機種変更含む全契約&機種単体(白ロム)購入も対象


    【3ヵ月間無料!!】DAZN(ダゾーン)をお得に契約する方法 – ワールドカップアジア最終予選のアウェーはDAZNが独占放送!

    DAZNを契約するならこれがおすすめ!auは3カ月間無料&au請求金額から毎月110円割引!ソフトバンクは毎月10%還元!


    開催中のキャンペーンをぜんぶ見る

  • あわせて読みたい記事