【ドコモ】ahamoにのりかえで20,000dポイント還元

誰でも作れる「つぶやき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ページよりご連絡ください。

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

【第4弾開始!!】ワイモバイル「10周年大感謝祭」まとめ – 誰でも参加OK!PayPay大還元、紹介、スマホ安売り、抽選会などで構成される大型キャンペーン開催!

キャンペーン

ワイモバイルが10周年を記念した大型キャンペーン~第4弾~を4月1日から開催!ワイモバを契約中の人もしてない人も参加できてPayPayが当たるなど特典多数!

【最大44,000円割引!!】ドコモが認定中古スマホのセールを開催。docomo CertifiedのiPhone・Androidがかなり安く購入できる!半額以下のスマホもあり

セール

10月25日よりドコモがdocomo Certified(認定中古スマホ)を対象としたセールを開催。新規契約/のりかえで大幅割引が適用される

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

携帯電話

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

【ドコモ】『オンラインショップおトク割』でスマホをおトクに購入する方法 – 端末のみ購入もOK!対象機種、割引金額、適用条件まとめ

携帯電話

ドコモオンラインショップが新たな割引「オンラインショップおトク割」をスタート!5G WELCOME割併用で超大幅割引となる機種も!

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

webサービス

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


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

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

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

usedoor Twitter
usedoor facebook
usedoor feedly
usedoor RSS


新着ニュース&記事

【毎月1日限定】楽天市場『ワンダフルデー』でおトクに買い物する方法 – 全ショップポイント3倍、リピート購入2倍、ワンダフルクーポン、特価商品などが登場

ショッピング

楽天市場で毎月1日の24時間限定で開催されるキャンペーン「ワンダフルデー」争奪戦のクーポン配布やポイント最大20%還元の商品などもあり

【抽選販売情報あり】Nintendo Switch 2の予約・発売日や価格、ショップなど販売情報まとめ – 初代から進化したポイントも解説

ゲーム

ついに待望の「Nintendo Switch 2」の詳細が発表!予約・発売日・価格は?一足先に体験できるイベント「Nintendo Switch 2 体験会 TOKYO」が2025年4月26日・27日に開催。

ワイモバイルオンラインストアで「iPhone 13」「Google Pixel 8a」「OPPO Reno11 A」が大幅値下げ、一括9,800円~で販売

ニュース

5月30日~ワイモバイルオンラインストアで「iPhone 13」「Pixel 8a」「OPPO Reno11 A」が値下げされました。

【dtabが機種変更で半額!!】ドコモがdtab Compact(d-52C)を値下げ。さらに機種変更なら26,895円割引、新規契約でも24,450ポイント還元と安い!

ニュース

5月30日にドコモがdtab Compactを値下げ。機種変更は オンラインおトク割で26,895円割引⇒一括26,895円とかなり安く買える!新規契約も大幅ポイント還元

ソフトバンクが「Xiaomi 14T Pro」にAndroid 15のアップデートの提供を開始

ニュース

2025年5月28日にソフトバンクがXiaomi 14T Proに対してAndroid 15の配信を開始


新着記事をもっと見る

usedoorをフォロー


注目・おすすめ記事

LYPプレミアムにおトクに登録できるキャンペーン&会員向け特典、利用できるLINEの機能まとめ – 3ヵ月無料&PayPayポイント&クーポンなど

LYPプレミアムに新規登録で基本料金3ヵ月無料&1,000円分のPayPayポイント&Yahoo!ショッピングの2,000円割引クーポン×2枚がもらえるキャンペーン開催中


【機種変更でも実質6,800円~!!】ワイモバイルで折りたたみスマホ「Libero Flip」をおトクに購入する方法 – 一括9,800円&PayPayポイント還元で購入できる

ワイモバイルの折りたたみスマホ「Libero Flip(A304ZT)」が値下げ!機種変更でも一括9,800円と激安!!さらに必ずPayPayポイントがもらえる


楽天ポイントを「Appleギフトカード」に交換する方法 – Apple Gift Card 認定店での買い物手順。期間限定ポイントの消化にアリ!クーポンも登場

期間限定の楽天スーパーポイントも利用OK!iPhoneも買えるAppleギフトカードに交換できる。セール時は安く購入することもできておトク


「メルペイ」のクーポン&キャンペーンまとめ – クーポンは人によって違うので来ない場合も… メルカードキャンペーンもあり

メルカリが提供するスマホコード支払「メルペイ」は定期的におトクなキャンペーンを開催&クーポンを配布!人によって違うクーポンを徹底的にまとめてみた


【割引クーポンあり】Dropbox Plus(有料版)をおトクに購入する方法 – ソースネクストの3年以上複数年版がコスパよし!最安値保証&返金あり

公式は値上げ…Dropbox Plus(有料版)を安く利用したいならソースネクストの3年版が超お買い得!期間限定割引や限定割引クーポンなどまとめ



注目の記事をぜんぶ見る


最新記事&ニュース

【毎月1日限定】楽天市場『ワンダフルデー』でおトクに買い物する方法 – 全ショップポイント3倍、リピート購入2倍、ワンダフルクーポン、特価商品などが登場

楽天市場で毎月1日の24時間限定で開催されるキャンペーン「ワンダフルデー」争奪戦のクーポン配布やポイント最大20%還元の商品などもあり


【抽選販売情報あり】Nintendo Switch 2の予約・発売日や価格、ショップなど販売情報まとめ – 初代から進化したポイントも解説

ついに待望の「Nintendo Switch 2」の詳細が発表!予約・発売日・価格は?一足先に体験できるイベント「Nintendo Switch 2 体験会 TOKYO」が2025年4月26日・27日に開催。


ワイモバイルオンラインストアで「iPhone 13」「Google Pixel 8a」「OPPO Reno11 A」が大幅値下げ、一括9,800円~で販売

5月30日~ワイモバイルオンラインストアで「iPhone 13」「Pixel 8a」「OPPO Reno11 A」が値下げされました。


【dtabが機種変更で半額!!】ドコモがdtab Compact(d-52C)を値下げ。さらに機種変更なら26,895円割引、新規契約でも24,450ポイント還元と安い!

5月30日にドコモがdtab Compactを値下げ。機種変更は オンラインおトク割で26,895円割引⇒一括26,895円とかなり安く買える!新規契約も大幅ポイント還元


ソフトバンクが「Xiaomi 14T Pro」にAndroid 15のアップデートの提供を開始

2025年5月28日にソフトバンクがXiaomi 14T Proに対してAndroid 15の配信を開始



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


usedoorをフォロー


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

Amazon「Audible」のキャンペーンまとめ – 本の朗読サービスにおトクに登録する方法

4月15日までAmazonギフトカードがもらえる激アツキャンペーン開催中!Amazonの朗読サービス「Audible」に登録するならキャンペーンの利用がオススメ


【IIJmio】一括110円!トクトクキャンペーン スマホ大特価セールまとめ – 対象機種や割引条件など。iPhone・Androidが激安で購入できる!

スマホ安売りでお馴染みのIIJmio恒例の『スマホ大特価セール』がトクトクキャンペーンとして開催!今回も特にAndroidスマホが大幅割引で一括110円~と激安に


【紹介コードあり】増量中!メルカリ/メルペイの紹介キャンペーンでポイントをゲットする方法 – 開始にコード利用で1,000ポイントがもらえる

メルカリ・メルペイを始めるなら最初に招待コードの登録がおトク!今なら必ずメルカリやメルペイの買い物時に利用できるポイントがもらえる。2月16日まで増量中!


【紹介コードあり】Yahoo!フリマの「友達紹介キャンペーン」でPayPayポイント500円相当をゲットする方法(2025年4月)

Yahoo!フリマ(旧PayPayフリマ)を始めるなら「友達紹介キャンペーン」の紹介コード入力で500円分のPayPayポイントがもらえる。2025年4月30日まで


【招待コードあり】エアウォレットの友だち招待キャンペーンで500円分のCOIN+残高をゲットする方法 – 適用条件や招待コードの発行/確認手順など

AirWALLETを始めるなら友だち招待キャンペーンで招待コード(紹介コード)を入力しての利用開始がおトク!2025年3月28日まで500円分の現金がもらえる。



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