【20GB比較】ドコモ「ahamo」、au「povo」、ソフトバンク「SoftBank on LINE」、楽天モバイル「UN-LIMIT VI」比べてみた

最終更新 [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ページよりご連絡ください。

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

【6月11日まで増量中!!】楽天モバイルUN-LIMITを新規契約して7,000ポイントをゲットする方法 – SIMのみもiPhoneも対象!ポイント還元の条件など

携帯電話

楽天モバイルUN-LIMITが機種購入なしのSIMのみ契約で誰でも7,000ポイントを還元する増量キャンペーンを開始!対象端末と条件まとめ。iPhoneでもOK

【必須!!】ドミノ・ピザの割引クーポンまとめ – クーポン取得&利用手順。おトクにピザを注文する方法

キャンペーン

ドミノ・ピザを注文する前におトクなクーポンが配布されていないかチェック!常時30%割引となるクーポン配布中!

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

携帯電話

ソフトバンクのiPhone 8買うならここがいいかも!キャッシュバックがもらえるぞ!さらにPayPayボーナスライトももらえます。

【6月版】「メルペイ」のキャンペーン&クーポンまとめ – バーチャルカード利用や対象ショップで20%還元etc… メルペイでお得にお買い物する方法

キャンペーン

メルペイでは定期的におトクなキャンペーンやクーポンを配信中。メルペイ払いしなくてもクーポンも使えちゃう。ネットショップにも対応


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

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

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


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


同じカテゴリの記事

【ハズレなし!!】Amazon Musicの曲を聴いてSHUREワイヤレスヘッドホンや500円分クーポンをGETする方法

キャンペーン

SHURE AONIC 50ワイヤレス・ノイズキャンセリング・ヘッドホンが50名に当たる!外れてもSHURE対象商品の割引クーポンが必ず貰えるぞ!

【誰でも貰える!】楽天市場アプリでミスドのドーナツを1個無料でGETする方法 – 9月2日まで

キャンペーン

楽天市場アプリをダウンロードすればもれなくプレゼント!もちろん、既に楽天市場アプリを利用中の方も対象です。

【最大20%還元!!】オムニ7の大満足フェアが開催! – セブンネットなどでお得にお買い物する方法

キャンペーン

最大20%還元やnanacoポイント7倍など様々なお得キャンペーンが開催!キャンペーン期間は2020年3月31日(火)まで。

【激熱】Amazonで1万名に最大1万ポイントが当たる「ドコモ ケータイ払い利用キャンペーン」が開催! – Amazonでお得にお買い物をする方法

キャンペーン

100名に10,000ポイント、1,000名に5,000ポイント、8,900名に1,000ポイントが当たる!ドコモユーザーは必見です。

【nanaco】オムニ7に登録して「300ポイント」GETする方法

キャンペーン

nanacoを利用している人はとりあえず登録してポイントをGETしよう!


新着記事

【+4%還元!!】「プレアワー」でYahoo!ショッピング・PayPayモールでおトクにお買い物する方法

キャンペーン

不定期で開催される、Yahoo!プレミアム会員ならYahoo!ショッピングとPayPayモールで+4%還元でお買い物できるおトクなキャンペーン!!

au PAY 残高に現金チャージして最大1,000Pontaポイント(5%還元)をゲットする方法

キャンペーン

ローソン銀行ATMでau PAY 残高にチャージするだけで最大1,000Pontaポイントがもらえるけっこう熱いキャンペーン!!

【予約開始】ソニーのワイヤレスイヤホン「WF-1000XM4」を予約・購入する方法 – スペック、変更点、販売ショップまとめ

ガジェット

SONYの大人気完全ワイヤレスイヤホン2021年モデル「WF-1000XM4」が登場!2021年6月25日発売で価格は33,000円

【8月15日まで】ドコモ『最大2.2万円割引キャンペーン』でおトクにギガプランを契約する方法 – 対象機種や条件、エントリー手順など

キャンペーン

ドコモがギガホやギガライトにのりかえで最大2.2万円割引となるキャンペーンをスタート。dポイント還元対象機種もあり

【6月版】au「三太郎の日」の特典まとめ&おトクに買い物する方法 – au PAY マーケット最大21%還元など

キャンペーン

3のつく日は三太郎の日!au PAYマーケットでのお買い物で最大50%還元やローソンでのおトクなクーポン配布など


≫ 新着記事をもっと見る

usedoorTOPへ戻る

usedoorをフォロー


  • 注目の使い方

    【激安!!】Amazon Echoシリーズを激安で購入してMusic Unlimitedを6ヵ月間無料で利用する方法 – 参加できる条件や注意点など

    AmazonのスマートスピーカーEchoシリーズと音楽聞き放題サービスMusic Unlimited 6か月分がセットで激安の2,980円~で販売中!


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

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


    『楽天ひかり』を1年無料で利用する方法 – 楽天モバイルUN-LIMITとのコラボ企画。携帯回線は3ヵ月、ひかり回線は1年無料!参加条件と注意点

    家の固定回線「楽天ひかり」と携帯回線「楽天モバイルUN-LIMIT」の両方を契約すれば固定回線が1年無料で使えるおトクなキャンペーン。注意点あり


    【Twitter】クソリプ防止に。ツイートに対してリプライ(返信)できる相手を制限する方法

    クソリプ防止となるツイートに対して返信できる相手を制限することができる機能がTwitterに正式登場


    注目の記事をぜんぶ見る

  • 最新記事

    【+4%還元!!】「プレアワー」でYahoo!ショッピング・PayPayモールでおトクにお買い物する方法

    不定期で開催される、Yahoo!プレミアム会員ならYahoo!ショッピングとPayPayモールで+4%還元でお買い物できるおトクなキャンペーン!!


    au PAY 残高に現金チャージして最大1,000Pontaポイント(5%還元)をゲットする方法

    ローソン銀行ATMでau PAY 残高にチャージするだけで最大1,000Pontaポイントがもらえるけっこう熱いキャンペーン!!


    【予約開始】ソニーのワイヤレスイヤホン「WF-1000XM4」を予約・購入する方法 – スペック、変更点、販売ショップまとめ

    SONYの大人気完全ワイヤレスイヤホン2021年モデル「WF-1000XM4」が登場!2021年6月25日発売で価格は33,000円


    【8月15日まで】ドコモ『最大2.2万円割引キャンペーン』でおトクにギガプランを契約する方法 – 対象機種や条件、エントリー手順など

    ドコモがギガホやギガライトにのりかえで最大2.2万円割引となるキャンペーンをスタート。dポイント還元対象機種もあり


    【6月版】au「三太郎の日」の特典まとめ&おトクに買い物する方法 – au PAY マーケット最大21%還元など

    3のつく日は三太郎の日!au PAYマーケットでのお買い物で最大50%還元やローソンでのおトクなクーポン配布など


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

  • usedoorをフォロー


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

    【最大10,000dポイント】毎日運試し。わくわく毎日くじでdポイントをゲットする方法

    毎日引けるdポイントが当たるくじが登場。最高は10,000dポイントらしいけど…


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

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


    Hulu(フールー)を無料視聴する、通常よりおトクに契約する方法

    Huluが新型コロナウイルスの感染拡大防止に伴う在宅環境をサポートという名目で100作品以上を無料開放中!


    【6月版】『ワクワクペイペイ』キャンペーン内容&参加条件まとめ – クーポンや地域限定キャンペーンetc… PayPayでおトクに買い物する方法

    月替わりで開催されるPayPayのおトクなキャンペーン「ワクワクペイペイ」参加条件や今月対象のお店は?


    【8月15日まで】ドコモ『最大2.2万円割引キャンペーン』でおトクにギガプランを契約する方法 – 対象機種や条件、エントリー手順など

    ドコモがギガホやギガライトにのりかえで最大2.2万円割引となるキャンペーンをスタート。dポイント還元対象機種もあり


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

  • あわせて読みたい記事