ドコモの「SIMのみ」を契約して最大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ページよりご連絡ください。

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

ソースネクストの割引クーポンまとめ – 現在配布中の最新クーポンやキャンペーンを製品別にまとめてみた

ショッピング

ソースネクストの割引クーポンを総まとめ!公式から一覧情報を頂いているので全てのクーポンがチェックできます。Dropboxや1Password、ZEROセキュリティetc...と多数配布中!

ahamo、LINEMO、povoどれにする?開催中キャンペーンの特典と条件を比較してみた – キャッシュバックやポイント還元などまとめ

携帯電話

ドコモのahamo、ソフトバンクのLINEMO、auのpovo、。大容量低価格プランを今契約するならどこが一番おトクにキャンペーンで契約できる?を比較してみた

【既存ユーザーも対象】楽天モバイルで「YouTube Premium」を3ヵ月間無料で申し込む方法 – 対象となる条件、注意点など

Youtube

楽天モバイル契約者はYoutube Premiumが3ヵ月無料で利用できる。条件はシンプルで既存ユーザーも対象!注意点もアリ

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

キャンペーン

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

【激アツ!!】2回線目以降もOK!楽天モバイル回線契約で14,000ポイントがもらえる三木谷氏の紹介キャンペーン開催。超おトクに契約できるけど注意点あり

キャンペーン

楽天の社長、三木谷氏のRakuten最強プラン紹介キャンペーンが激アツ!2回線目以降の契約でも14,000ポイントがもらえる。ただし11月1日から特典付与スケジュールが大幅変更


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

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

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

usedoor Twitter
usedoor facebook
usedoor feedly
usedoor RSS


新着ニュース&記事

【楽天モバイル】割引拡大!iPhone 16(128GB)をおトクに購入する方法 – Appleよりも安い価格で購入可能に。割引とポイント還元で実質109,700円

携帯電話

楽天モバイルでiPhone 16(128GB)がAppleよりも安く購入できる。のりかえで20,000円オフの一括121,700円、さらに12,000ポイント還元で実質109,700円に

Pontaパスで「2024 MAMA AWARDS」の生配信を日本語字幕付きで視聴する方法、初回入会30日間無料!!

音楽

Pontaパスで2024年11月22日・23日にK-POP授賞式「2024 MAMA AWARDS」のロサンゼルス公演、京セラドーム大阪公演のレッドカーペット、授賞式とライブパフォーマンスの様子を日本語字幕付きでライブ配信!

povoがスタバやタリーズ、コメダなどで使える『カフェギフトチケット』がセットになった期間限定トッピングを500円で販売。データ追加0.3GB(24時間)が実質無料。1月6日まで

ニュース

povoが多数のカフェで使える500円分のカフェギフトチケットとデータ追加0.3GBがセットになった期間限定トッピングを500円で販売。データ追加が実質無料

【スクエニ2025年福袋】スクウェア・エニックス オフィシャルグッズ福袋2025の抽選販売に応募する方法

福袋

2025年もスクウェア・エニックス オフィシャルグッズ福袋が登場!福袋は「ファイナルファンタジー福袋」「ドラゴンクエスト福袋」「ファイナルファンタジー福袋14」の3種類。応募期間は2024年11月21日~11月27日。

Amazonが新型Echo Show 15(第2世代)を発売。サウンド強化やFire TV機能搭載(Alexa対応音声認識リモコンが同梱)など。価格は47,980円

ニュース

Amazonが15.6インチディスプレイを搭載した第2世代のEcho Show 15を発表&販売開始。販売情報やスペックなどをまとめました


新着記事をもっと見る

usedoorをフォロー


注目・おすすめ記事

【2024年版】税金をおトクに支払う方法 – 請求書払いを徹底比較!楽天ペイ、d払い、au PAY、PayPay、ファミペイで一番おトクに支払えるのは?

2024年も支払う必要がある様々な税金。請求書払いに対応しているもので手数料不要でポイント還元ありなど一番おトクに支払うことができるサービスは何?


【Android】メルペイをiDとしてスマホに追加&実際の支払い方法 – おサイフケータイへ登録すればメルカリの売上金やポイントがそのまま使える!あと払いもアリ

メルペイをAndroidのおサイフケータイにiDとして設定してみた!優先支払い&暗証番号の設定も含めてセットアップと支払い時の使い方を解説


【Android】スマホのバッテリー消費を抑えて電池持ちをアップさせる方法まとめ – Pixelのバッテリーが悪いのでいろいろ設定してみた

Pixel 4のバッテリー持ちが悪すぎるのでAndroid全般の電池消費を節約する設定をガッツリ行ってみた


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

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


【2024年11月】irumoのキャンペーンまとめ – おトクに回線契約する&既存ユーザー向けも紹介。dポイント還元やドコモ経由の裏技っぽい契約方法、抽選会etc…

ドコモの低料金プラン「irumo」契約でdポイントがもらえるキャンペーン開催中。割引適用で月額料金がかなり安くなるirumoの契約を考えている人はチェックしてみて



注目の記事をぜんぶ見る


最新記事&ニュース

【楽天モバイル】割引拡大!iPhone 16(128GB)をおトクに購入する方法 – Appleよりも安い価格で購入可能に。割引とポイント還元で実質109,700円

楽天モバイルでiPhone 16(128GB)がAppleよりも安く購入できる。のりかえで20,000円オフの一括121,700円、さらに12,000ポイント還元で実質109,700円に


Pontaパスで「2024 MAMA AWARDS」の生配信を日本語字幕付きで視聴する方法、初回入会30日間無料!!

Pontaパスで2024年11月22日・23日にK-POP授賞式「2024 MAMA AWARDS」のロサンゼルス公演、京セラドーム大阪公演のレッドカーペット、授賞式とライブパフォーマンスの様子を日本語字幕付きでライブ配信!


povoがスタバやタリーズ、コメダなどで使える『カフェギフトチケット』がセットになった期間限定トッピングを500円で販売。データ追加0.3GB(24時間)が実質無料。1月6日まで

povoが多数のカフェで使える500円分のカフェギフトチケットとデータ追加0.3GBがセットになった期間限定トッピングを500円で販売。データ追加が実質無料


【スクエニ2025年福袋】スクウェア・エニックス オフィシャルグッズ福袋2025の抽選販売に応募する方法

2025年もスクウェア・エニックス オフィシャルグッズ福袋が登場!福袋は「ファイナルファンタジー福袋」「ドラゴンクエスト福袋」「ファイナルファンタジー福袋14」の3種類。応募期間は2024年11月21日~11月27日。


Amazonが新型Echo Show 15(第2世代)を発売。サウンド強化やFire TV機能搭載(Alexa対応音声認識リモコンが同梱)など。価格は47,980円

Amazonが15.6インチディスプレイを搭載した第2世代のEcho Show 15を発表&販売開始。販売情報やスペックなどをまとめました



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


usedoorをフォロー


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

【条件変更】auオンラインショップ「スペシャルセール」でおトクにスマホを購入する方法 – 対象機種や適用条件、割引金額などまとめ

au PAY残高キャッシュバックや割引特典がある「au Online Shop スペシャルセール」を開催中。機種変更&指定されたプランで対象機種を購入すると適用される


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

AirWALLETを始めるなら友だち招待キャンペーンが開催されている期間に招待コード(紹介コード)を入力しての利用開始がおトク!2024年10月24日まで500円分の残高がもらえる


【激安!!】ワイモバイルの「タイムセール」でスマホを激安で購入、SIMのみ契約でキャッシュバックをゲットする方法 – 現在登場中の機種と価格、条件まとめ

ワイモバイルオンラインストアのタイムセールでOPPO Reno7Aやソフトバンク認定中古品のiPhoneが特価で販売中!


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

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


【3ヵ月無料!!】Amazonの音楽聴き放題「Music Unlimited」をおトクに登録する方法、開催中のキャンペーンまとめ – 1月10日まで3ヵ月無料キャンペーン開催!

Amazonの音楽聞き放題サービス「Music Unlimited」が激アツの3ヵ月無料キャンペーンを開催!2025年1月10日(金)まで。非プライム会員でもOK!



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