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

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

LLaMAモデル GGMLフォーマット(llama.cpp)をRustフレームワーク Leptosを用いて M1MacMiniでサクッと動かす。

Rust

2024.01.11

2024年 狙っているモバイルノートPC

tool

2024.01.07

MacOS XcodeにSDL2を追加

tool

2023.12.26

php 7.4にアップデート

PHP

2023.12.24

5分で覚える Flutter Flameで作る Wave Function Collapse - 波動関数崩壊アルゴリズム

AI・Bot・algorithm

2023.12.20

Flutter - Flameでゲーム作成 (キャラクターの移動)

Flutter

2023.07.23

Flutterで作る ChatGPT Prompt Manager

Flutter

2023.07.12

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

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

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

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

FOLLOW US