このサイトは、只今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

Mac VSCodeで、SFML C++開発環境を作る。

C++

2024.09.09

Rust-SDL2 examplesをすべて試す

Rust

2024.09.01

JavaScriptで、DOMを放り投げる処理

JavaScript

2024.07.27

Rustで創る MOS 6502 CPU その2

Rust

2024.07.23

Rustで創る MOS 6502 CPU その1

Rust

2024.07.19

汎用 3D mesh/model viewerを求め。と、簡単に、FBXファイルをglTF(glb)に変換ツールを求め。

C++

2024.06.06

M1 Macで、OpenGL GLUTを使ってコンパイルする

C

2024.04.27

Rust - Actix Web mongo ユーザー登録 JWT認証

Rust

2024.03.24

Rust - Actix Web JWT 認証認可 APIの作成

Rust

2024.02.25

Rust - Actix Web × JSON 静的ファイルをAPIで返却

Rust

2024.01.19

Rust - Actix Web × MongoDB環境をサクッと起動

Rust

2024.01.18

5分で学ぶ RustでWave Function Collapse (波動関数崩壊アルゴリズム)

Rust

2024.01.15

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

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

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

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

FOLLOW US