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

最終更新 [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)のアタマにエラーを吐き出す設定にしておきました。

ini_set( 'display_errors', 1 );

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

TwitterOAuthの中にあるautoload.phpを読み込む
require "twitteroauth-master/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;

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

Twitter認証情報を書き込む
//値を設定
$consumerKey = "○○○";	//Consumer Key (API Key) の値
$consumerSecret = "■■■";	//Consumer Secret (API Secret)の値
$accessToken = "△△△";	//Access Tokenの値
$accessTokenSecret = "×××";	//Access Token Secretの値

//上記の情報で接続
$connec = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);

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

いざ実行!とりあえずPHPを使ってツイートしてみる。
$connec->post("statuses/update", array("status" => "これはPHPから実行してツイートしまっした。"));

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

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

PHPで自動ツイートする全コード
<?php
require "twitteroauth-master/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;

$consumerKey = "○○○";	//Consumer Key (API Key) の値
$consumerSecret = "■■■";	//Consumer Secret (API Secret)の値
$accessToken = "△△△";	//Access Tokenの値
$accessTokenSecret = "×××";	//Access Token Secretの値

$connec = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);

$connec->post("statuses/update", array("status" => "これは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ページよりご連絡ください。

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

【5月13日まで】Amazonで最大7.5%還元!「タイムセール祭り」&「ポイントアップチャンスキャンペーン」でお得にお買い物する方法 – 目玉アイテムまとめ

セール

63時間限定のビックセール!今回は5月11日9:00~5月13日23:59まで。ポイントアップチャンスキャンペーンも同時開催!

【5月版】機種変更アリ!ドコモから『648円以下』で販売されているiPhone・iPad・Androidスマホ・ガラケーまとめ – 激安でドコモ端末を購入する方法

携帯電話

現在ドコモで販売されている648円以下(一括0円もあり)の機種を一括価格、実質価格、契約別にまとめました

【7月1日まで】楽天Payの還元率を5%にアップする方法 – 第1弾キャンペーンの概要と参加条件、注意点など

キャンペーン

楽天カード支払いを設定すれば楽天ペイのコード支払いで還元率が5%にアップする!

【5月版】dカード&dカード GOLDのおトクな使い方、徹底まとめ。ドコモユーザー以外にもメリット多数

クレジットカード

10%還元で噂のdカードの還元率、メリット、デメリット、比較、疑問を徹底的にまとめています

【機種変更でも実質6,480円~】ドコモのiPad mini 4をおトクに購入する方法

携帯電話

ドコモがiPad mini 4を再度値下げ!機種変更でも実質6,480円で購入できます


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

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

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


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




同じカテゴリの記事

【ドコモ】1GB追加オプションの申込方法 – 速度制限は即解除される。ただし1GB=1,080円とクソ高い…

携帯電話

通信速度制限を喰らっても月内に即解除できる。ただし1GBあたりですげー高い料金で追加パケットを買うという…


新着記事

【5月はローソン&au PAY】au「三太郎の日」の特典をゲットする方法

キャンペーン

3のつく日は三太郎の日!5月の特典はローソン!さらにau PAYでお支払いするとau WALLETポイント最大26.5%還元と激熱!

【Amazonに在庫あり】『メガドライブミニ』を予約・購入する方法 – 発売日や価格、スペックなどまとめ

ゲーム

ついに発売日が2019年9月19日(木)に決定!価格は6,980円~。収録タイトル数は40です。

【6/4まで】Amazon MusicモバイルアプリでPrime Musicを聴いて100ポイントをゲットする方法

キャンペーン

Amazon MusicモバイルアプリでPrime Musicを聴いて100Amazonポイントをプレゼント!2019年4月1日以降Prime Musicの利用履歴のない方が対象です。

【ドコモ分離プラン】新料金『ギガホ』『ギガライト』徹底まとめ – おトクになる人と損する人、概要や注意点など。ドコモの携帯料金をおトクにする方法

携帯電話利用料金

docomo withなど現在のプランや割引は5月31日で新規受付停止。新料金プランに移行する?現状維持?自分がおトクなプランを探しましょー

【5/24 生配信】「乃木坂46 23rdシングル『Sing Out!』発売記念 アンダーライブ」を視聴する方法

エンタメ ・芸能

5月24日(金)に横浜アリーナで開催されるライブをdTVチャンネルのひかりTVチャンネル+が独占生配信!


≫ 新着記事をもっと見る



usedoorTOPへ戻る

usedoorをフォロー


  • 注目の使い方

    【超ラク】PCからiPhone・iPadに写真や動画、ファイルを転送する一番簡単な方法 – ケーブル接続も不要!

    iCloudを使えばケーブル不要でPC内のファイルを簡単にiOS端末に転送できちゃう


    楽天ポイントを「App Store & iTunes ギフトカード」に交換する方法 – 期間限定ポイントの消化にアリ!

    楽天市場でApp Store & iTunes ギフトカードが10%OFFになるお得なクーポンが配布中!


    ルイ・ヴィトンの手帳型iPhone専用ケース『folio(フォリオ)』レビュー、使い方

    7以降のiPhoneで使える世界のLouisVuittonのiPhoneケースにガッツリ触れてみた


    【値下げ?】ドコモの新パケットプラン『ベーシックパック』『ベーシックシェアパック』のメリット/デメリット&比較まとめ – 月額料金をおトクにする方法

    5月25日スタートの新プランと現在の「シェアパック5/10/15」「データS/Mパック」を比較。どっちの方がおトク?


    【重い…】iOS 11の動作を軽くする(体感速度を上げる)方法まとめ – 特に旧iPhoneなどにオススメ

    iPhone 6 Plus×iOS 11がやっぱり重く感じる。。そんな時はこの設定をできるところまでやってみて


    注目の記事をぜんぶ見る

  • 最新記事

    【5月はローソン&au PAY】au「三太郎の日」の特典をゲットする方法

    3のつく日は三太郎の日!5月の特典はローソン!さらにau PAYでお支払いするとau WALLETポイント最大26.5%還元と激熱!


    【Amazonに在庫あり】『メガドライブミニ』を予約・購入する方法 – 発売日や価格、スペックなどまとめ

    ついに発売日が2019年9月19日(木)に決定!価格は6,980円~。収録タイトル数は40です。


    【6/4まで】Amazon MusicモバイルアプリでPrime Musicを聴いて100ポイントをゲットする方法

    Amazon MusicモバイルアプリでPrime Musicを聴いて100Amazonポイントをプレゼント!2019年4月1日以降Prime Musicの利用履歴のない方が対象です。


    【ドコモ分離プラン】新料金『ギガホ』『ギガライト』徹底まとめ – おトクになる人と損する人、概要や注意点など。ドコモの携帯料金をおトクにする方法

    docomo withなど現在のプランや割引は5月31日で新規受付停止。新料金プランに移行する?現状維持?自分がおトクなプランを探しましょー


    【5/24 生配信】「乃木坂46 23rdシングル『Sing Out!』発売記念 アンダーライブ」を視聴する方法

    5月24日(金)に横浜アリーナで開催されるライブをdTVチャンネルのひかりTVチャンネル+が独占生配信!


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

  • usedoorをフォロー


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

    【6.7万円キャッシュバック】ソフトバンクのiPhone XS / XS Maxを購入して高額キャッシュバックをGETする方法

    「iPhone XS / XS Max」でも超高額キャッシュバックがもらえるぞ!これはマジで熱い!


    【5月版】dカード&dカード GOLDのおトクな使い方、徹底まとめ。ドコモユーザー以外にもメリット多数

    10%還元で噂のdカードの還元率、メリット、デメリット、比較、疑問を徹底的にまとめています


    【5月版】現在ドコモでおトクに機種変更できるiPhone・Androidスマホ・タブレットまとめ – お安くドコモで機種変更する方法

    現在ドコモでおトクに機種変更できる機種の一括価格、実質価格をまとめました。スマホ&タブレットの機種変更を考えている人はチェック!


    【機種変更でも実質6,480円~】ドコモのiPad mini 4をおトクに購入する方法

    ドコモがiPad mini 4を再度値下げ!機種変更でも実質6,480円で購入できます


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

  • あわせて読みたい記事