このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

Twitter API 1.1 twitteroauth php 使い方

Twitter

2013.07.20

この記事は最終更新日から1年以上が経過しています。

いやぁ。放置してた放置してた。と。

で、何やらTwitter周りが「変だぞ」と。

うーん。どうやらTwitter APIがバージョンアップしているみたいだ。。。

2013年6月12日より、v1.0 からv1.1になったみたいで、なにやら使いにくくなっているみたいですね。。

Twitter Developers REST API v1.1 Resources

https://dev.twitter.com/docs/api/1.1

その内容はというと、タイムラインの更新回数が大幅に制限されたり、XML、RSSが廃止され、JSONに統一されたりと、

OAuthでの認証が必須となってきたりと。。。

おぉ。。面倒臭い。。

そのおかげでフォロワー数の表示が出来ていなかったり、なんたりで影響を受けております。

とりあえず使えるようにと。ざっとまとめました。

Twitterアプリケーションの作成・登録

twitter developersにアクセスします。

twitter developers

https://dev.twitter.com/apps

ツイッターアカウントを入力。ログイン。

Create a new application のボタンを押す。

このような画面が出ますので、入力。

Application Details

  • Name ・・・アプリケーション名称。日本語でも大丈夫です。
  • Description ・・・アプリケーションについての説明
  • Website ・・・ 作ってる組織のウェブサイト

この3項目入力は必須です。

入力し、同意規約にチェック。

認証コードが出ていますので、入力し「Create your Twitter application」ボタンを押す。

これで登録完了。

ページ右側から「My applications」の項目を選択。

Detaisのタブから「Consumer key」「Consumer secret」「Access token」等々が確認することができます。

これら「Consumer key」「Consumer secret」「Access token」を利用していきます。

PHP認証ライブラリ「twitteroauth」のダウンロード

ありがたい事に、OAuth認証用ライブラリ「twitteroauth」がGitHubにUPされていますので、GETしましょう。

自分の環境にクローン、または「Download ZIP」ボタンを押してzip形式でダウンロードしましょう。

アーカイブを展開して、中にある、

  • twitteroauth/OAuth.php
  • twitteroauth/twitteroauth.php

を利用します。

利用方法

では、まず、設定をしていきましょう。

twitteroauth / config.php

が設定ファイルとなりますので、エディタで開いて編集します。

define('CONSUMER_KEY', '');
define('CONSUMER_SECRET', '');
define('OAUTH_CALLBACK', 'http://example.com/twitteroauth/callback.php');

Twitter Developersで発行された「Consumer key」「Consumer secret」を入力します。

define('CONSUMER_KEY', 'Consumer keyを入力');
define('CONSUMER_SECRET', 'Consumer secretを入力');
define('OAUTH_CALLBACK', 'http://example.com/twitteroauth/callback.php');

入力完了しましたら、

twitteroauth / index.phpを開いてみましょう。

こんな感じで表示すればOKです。

ツィート一覧 表示

先ほど、config.phpで「Consumer key」「Consumer secret」を設定しましたが、

twetterのフィード情報を表示出来るように、access tokenを設定して情報を取得しましょう。

入力していくのは「Access token」「Access token secret」となります。

config.phpを利用せず、以下の変数を定義していきます。

$consumer_key = '';
$consumer_secret = '';
$access_token = '';
$access_token_secret = '';

それぞれ、「Consumer key」「Consumer secret」「Access token」「Access token secret」を入力。

続いて、オブジェクトを生成します。

$tw_obj = new TwitterOAuth ($consumer_key, $consumer_secret, $access_token, $access_token_secret);
$tw_rest_api = 'https://api.twitter.com/1.1/statuses/home_timeline.json';

メソッドの指定とオプション設定

$request_method = 'GET';
$options = array ('count'=> 50);

タイムラインを取得します。

$tw_obj_request = $tw_obj->OAuthRequest ($tw_rest_api, $request_method, $options);

json形式で取得します。

$tw_obj_request_json = json_decode($tw_obj_request, true);
$time_line_texts = '';

取得したデータをぶん回していき、先ほど作成した変数に代入。

foreach ($tw_obj_request_json as $key => $value) {
$time_line_texts .= '<p>'.$value["text"].'</p>';
}

表示させたいところに、以下を記述。

<?php print($time_line_texts); ?>

すると、ドカーと表示します。

ユーザーステータス情報、フォロワー数等取得

先ほどは、ダーっとtweetを表示しました。

次は自分のステータス情報等を取得し、表示させたいと思います。

Twitter Developers REST API v1.1の日本語で記述されているドキュメントがありますので、こちらを参考にすると良いと思います。

【保存版】TwitterAPI1.1 REST API 全項目解説

http://dx.24-7.co.jp/twitterapi1-1-rest-api/

 

先程は

GET statuses/home_timeline:自分のホームタイムラインツイート一覧を取得

を使って、ツイート一覧を取得しました。

今回はusers/show を使ってフォロワー数の取得を行います。

$tw_rest_api = 'https://api.twitter.com/1.1/users/show.json';
$request_method = 'GET';

と変更し、以下の様に指定(screen_nameは任意のユーザー名を記述)

$request = $tw_obj->OAuthRequest($tw_rest_api, $request_method, array('cursor' => '-1', 'screen_name' => 'webcyou'));
print($request);

すると、指定ユーザーの情報がドカーと表示します。

これをjsonオブジェクト形式にデコードし、

$request = json_decode($request);

そこからフォロワー数であるfollowers_countを取得し表示。

print $request->{'followers_count'};

これで、指定ユーザーのフォロワー数を表示することができます。

いやぁ。ちょっと面倒くさくはなりましたが、色々と使っていきたい限りです。

フォロワー数取得まとめ

session_start();
require_once('twitteroauth/twitteroauth.php');
$consumer_key = '';
$consumer_secret = '';
$access_token = '';
$access_token_secret = '';

$tw_obj = new TwitterOAuth ($consumer_key, $consumer_secret, $access_token, $access_token_secret);
$tw_rest_api = 'https://api.twitter.com/1.1/users/show.json';
$request_method = 'GET';

$request = $tw_obj->OAuthRequest($tw_rest_api, $request_method, array('cursor' => '-1', 'screen_name' => 'webcyou'));
$request = json_decode($request);
<?php print $request->{'followers_count'}; ?>

Comment

Related Article

Twitter API 1.1 twitteroauth php 使い方

2013.07.20

Photoshop ショートカットリスト ( Mac版 )

2012.11.08

Twitter へのアプリケーション登録 OAuth 設定

2010.11.27

CATEGORY LIST

LATEST NEWS

CentOS MySQL(MariaDB) を バージョン10.3に yumでアップデート

MySQL

2019.03.22

Ubuntu 開発環境構築まとめ

ubuntu

2019.02.25

Nuxt.js と auth-module (@nuxtjs/auth)で、JWT(JSON Web Tokens)& OAuth 認証 ログイン

JavaScript

2019.02.21

HerokuでRailsをビルド buildpack、Rubyバージョンでエラー

エラー

2019.02.13

ブラウザフィンガープリントは、Cookieの代用となるのか? JSライブラリ Fingerprintjs2など。

JavaScript

2019.02.03

CPUの創りかた TD4 購入(必要)パーツ一覧

電子工作

2019.01.21

あけましておめでとうございます(かなり遅め)

イベント

2019.01.12

Vue.jsでSPA、Vuex使用するなら Nuxt.jsが超絶便利な件。

JavaScript

2018.12.23

2018年 Docker 使い方 まとめ その3

Docker

2018.12.17

2018年 Docker 使い方 まとめ その2

Docker

2018.12.16

2018年 Docker 使い方 まとめ その1

Docker

2018.12.15

macOS Mojaveにアップデート vagrantで、failed MSpanList_Insert 0x1e3000 0x170f8379be41 0x0 エラー発生 vagrantが起動しない件

エラー

2018.12.15

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US