ワイモバイルを通常よりおトクに契約する方法

誰でも作れる「つぶやきbot」や「ダイレクトメッセージ送信機」  PHPでTwitterを操作する方法【TwitterAPI 1.1 REST&TwitterOAuth】

PHPからつぶやいたりダイレクトメールを送ったり、フォロワーを確認したりetc...


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

この記事内には広告リンクが含まれています。

\\どうかフォローをお願いします…//


< この記事をシェア >

usedoor Twitterでシェア
usedoor facebookでシェア
usedoor はてなブックマークに保存
usedoor Pocketに保存
usedoor LINEでシェア
usedoor feedly


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ページ

< この記事をシェア >

usedoor Twitterでシェア
usedoor facebookでシェア
usedoor はてなブックマークに保存
usedoor Pocketに保存
usedoor LINEでシェア
usedoor feedly



\\どうかフォローをお願いします…//



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

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

【楽天モバイル】2回線目でもRakuten Hand 5Gが一括1円で買えたお話。複数回線でも割引対象となるキャンペーンの条件/詳細まとめ – おトクに購入する方法

携帯電話

楽天モバイルがRakuten Hand 5Gを一括1円で販売するキャンペーンを開催中!すでにRakuten UN-LIMITを契約中でも一括1円で買えた!細かい条件には注意

【2024年4月】毎日参加!Yahoo!オークション「全員あたるくじ」でPayPayポイントをゲットする方法 – 開催中は毎日くじを引こう!4月も超PayPay祭連動

キャンペーン

Yahoo! JAPAN IDがあれば誰でも毎日参加できるYahoo!オークション(旧:ヤフオク)の「全員あたるくじ」必ずPayPayポイントがもらえるので開催中は毎日参加がオススメ

LYPプレミアムにおトクに登録する方法&会員が使える機能まとめ – 3ヵ月無料&LINEやYahooで会員限定で使える機能が多数

キャンペーン

LYPプレミアムが3月31日まで激アツな入会キャンペーンを開催!基本料金3ヵ月無料+4,000円分のPayPayポイント+Yahoo!ショッピングの3,000円割引クーポン×2枚という超豪華特典を用意!

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

携帯電話

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

Amazon『Fire TV Stick / 4K / 4K Max』『Fire TV Cube』をおトクに購入する方法、セール/キャンペーンまとめ

キャンペーン

本家AmazonがFire TV Stick 4K Maxの半額セールを開催中!その他、Fire TV Stickシリーズのキャンペーン、割引販売情報まとめ


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

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

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

usedoor Twitter
usedoor facebook
usedoor feedly
usedoor RSS


新着ニュース&記事

【4月20日~21日開催】楽天市場『ブランドデー』でおトクに買い物する方法 – 有名ブランドの48時間限定イベント!スクラッチくじや割引クーポンも登場

セール

楽天市場で48時間限定「Rakuten Brand Day(楽天ブランドデー)」が4月20日~21日の2日間で開催!有名ブランドのアイテムがおトクに買い物できる!

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

セール

dショッピングでは毎月10日&20日におトクに買い物ができる「dショッピングデー」が開催。dポイント最大40倍+α&ポイント利用分も10%還元!

【0と5のつく日】楽天市場でおトクに買い物する方法 – 楽天カード支払いでポイント4倍。特典内容&条件や注意点まとめ

キャンペーン

楽天カードユーザーは毎月0、5のつく日はポイント4倍と楽天市場でおトクに買い物ができる。毎回エントリーをお忘れなく!ただし以前よりも条件は改定

【土日配布!!】Yahoo!オークション『ゴールドクーポン』をゲットする方法 – 4月の週末は誰でも旧ヤフオクでクーポンを使っておトクに買い物できる!

ショッピング

Yahoo!オークション(旧:ヤフオク)では週末土日にゴールドクーポン配布中!誰でも買い物金額に応じた割引が受けられる!

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

ショッピング

d fashion、dブックで0のつく日にdポイント20倍還元などのキャンペーンをストア同時開催中!ファッションアイテムや電子書籍がおトクに購入できる


新着記事をもっと見る

usedoorをフォロー


注目・おすすめ記事

【楽天モバイル】モバイルWi-Fiルーター「Rakuten WiFi Pocket 2C」が一括1円だから買ってみた – 激安でWi-Fiルーターをゲットする方法

楽天モバイルがモバイルWi-Fiルーター「Rakuten WiFi Pocket 2C」を一括1円の激安特価販売!すでに楽天モバイル回線を契約中でも一括1円で買える!


【神コスパ!!】ソフトバンク『データ通信専用3GBプラン』を契約してみた – PayPayクーポン・LYPプレミアムがフル利用できて月額990円!Androidでも使える

ソフトバンクの超コスパのいい「データ通信専用3GBプラン」を契約してみた。特典満載でメリット多数の激安回線!Yahoo!プレミアムやPayPayクーポンが欲しい人はこれを契約した方が安いかも


【ふるさと納税】旅行券(楽天トラベル、一休.com、Yahoo!トラベルクーポンあり)が返礼品の寄付まとめ – おトクに寄付する方法。商品券、食事券なども

旅行券や楽天トラベル、Yahoo!トラベルなどのクーポンを中心にギフト券、商品券などが返礼品としてもらえるふるさと納税の寄付をまとめました


【12円スマホ】ソフトバンク『新トクするサポート(バリュー)』の対象機種、適用条件などまとめ – iPhone 15が対象に⇒128GBモデルは月額1円で利用できる!

ソフトバンクの対象機種が1年間12円~で利用できる『新トクするサポート(バリュー)』の条件や対象機種まとめ。返却で激安でiPhone・Androidが使える!


【iPhone・Androidスマホ】『緊急速報』をオン⇔オフする方法 – 外出自粛や緊急地震速報、Jアラートなどを無効化もできる。届かない、非対象機種の対処方法も

緊急地震速報&ミサイル発射も警告してくれるJアラートはちゃんとスマホで受信出来た方がいい!外出自粛はちょっとウザいけどしょうがない



注目の記事をぜんぶ見る


最新記事&ニュース

【4月20日~21日開催】楽天市場『ブランドデー』でおトクに買い物する方法 – 有名ブランドの48時間限定イベント!スクラッチくじや割引クーポンも登場

楽天市場で48時間限定「Rakuten Brand Day(楽天ブランドデー)」が4月20日~21日の2日間で開催!有名ブランドのアイテムがおトクに買い物できる!


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

dショッピングでは毎月10日&20日におトクに買い物ができる「dショッピングデー」が開催。dポイント最大40倍+α&ポイント利用分も10%還元!


【0と5のつく日】楽天市場でおトクに買い物する方法 – 楽天カード支払いでポイント4倍。特典内容&条件や注意点まとめ

楽天カードユーザーは毎月0、5のつく日はポイント4倍と楽天市場でおトクに買い物ができる。毎回エントリーをお忘れなく!ただし以前よりも条件は改定


【土日配布!!】Yahoo!オークション『ゴールドクーポン』をゲットする方法 – 4月の週末は誰でも旧ヤフオクでクーポンを使っておトクに買い物できる!

Yahoo!オークション(旧:ヤフオク)では週末土日にゴールドクーポン配布中!誰でも買い物金額に応じた割引が受けられる!


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

d fashion、dブックで0のつく日にdポイント20倍還元などのキャンペーンをストア同時開催中!ファッションアイテムや電子書籍がおトクに購入できる



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


usedoorをフォロー


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

【12円スマホ】ソフトバンク『新トクするサポート(バリュー)』の対象機種、適用条件などまとめ – iPhone 15が対象に⇒128GBモデルは月額1円で利用できる!

ソフトバンクの対象機種が1年間12円~で利用できる『新トクするサポート(バリュー)』の条件や対象機種まとめ。返却で激安でiPhone・Androidが使える!


【5月9日まで】Amazon「Audible」を2ヵ月無料で登録する方法 – 本の朗読サービスが通常よりもおトクに利用できるキャンペーン、条件などまとめ

Amazonの朗読サービス「Audible」が2ヵ月無料で利用できるおトクなキャンペーンが2月29日まで開催中!


【抽選販売受付中】AmazonのPlayStation 5の招待販売制に参加する方法 – PS5購入の招待メールをリクエストする手順。モデルごとに登録が必要

AmazonでのPlayStation 5販売が招待制に!抽選形式なので期限内に招待メールをリクエストしておけばPS5が買えるかも!?


Huluを通常よりもおトクに契約する方法、キャンペーンまとめ

動画見放題サービス「Hulu」通常特典は2週間無料だけだけどキャンペーンを利用すれば無料期間が延長されたりポイント還元などでおトクに入会できる!


【楽天モバイル】初めて20GB超過利用して1,500ポイントをゲットする方法 – 毎月開催&必ずもらえる!最強プランにピッタリのキャンペーン。特典増額中!

楽天モバイル契約者限定で過去に一度も20GBを超過したことがなく20GBを超過しそうな人は必見!エントリーと利用だけで1,500ポイントがもらえちゃう



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