【twitteroauth】TwitterAPIで検索して特定のつぶやきをしたユーザーを取得する方法【PHP】

公開日: : 最終更新日:2014/08/14 PHP, Twitter

スポンサーリンク

twitteroauthを利用してワード検索して特定のつぶやきをしたユーザーを取得する方法です。twitteroauthはGitHubで公開されているので持ってない方はそちらからダウンロードしてください。

以下ソースコード

<?php
//twitteroauth.phpを読み込み
require_once dirname(__FILE__) .'/twitteroauth.php';
//検索ワード配列
$keyword_list = array("ポケモン","パズドラ");
//最大検索数
$countmax = 10;
//twitterAppsで取得
$consumerKey = '*****';
$consumerSecret = '*****';
$accessToken = '*****';
$accessTokenSecret = '*****';
$to = new TwitterOAuth(
	$consumerKey,
	$consumerSecret,
	$accessToken,
	$accessTokenSecret
);
//Twitterで検索するワード
//複数の場合はORかANDを使う
//「ポケモン OR パズドラ」のような形になればいい
$key = "";
$size = count($keyword_list);
for($i=0;$i<$size;$i++){
	$keyword = $keyword_list[$i];
	$key .= $keyword;
	if($i<$size-1){
		$key .= " AND ";
	}
}
//オプション設定
//countmaxは最大検索数
$options = array('q'=>$key,'count'=>$countmax,'lang'=>'ja');
//検索
$json = $to->OAuthRequest(
	'https://api.twitter.com/1.1/search/tweets.json',
	'GET',
	$options
);
$jset = json_decode($json, true);
//tweetidを取得
foreach ($jset['statuses'] as $result) {
	//ローマ字の名前
	$screen_name = $result['user']['screen_name'];
	//ユーザーID(数字)
	$id = $result['user']['id'];
	//ユーザー名
	$name = $result['user']['name'];
	//ユーザーアイコン画像URL
	$link = $result['user']['profile_image_url'];
	//該当ツイート
	$content = $result['text'];
	//更新日
	$updated = $result['created_at'];
	$time = date("Y-m-d H:i:s",strtotime($updated));
	//不明なものはprint_rで見ればいい
	//print_r($result);
	echo "<img src='".$link."''>"." | ".$screen_name." | ".$id." | ".$name." | ".$content." | ".
		$time."<br>";
}
?>

取得される$idが9桁(?)の数字のユーザーIDで特定のユーザーをフォローするときなどで使用できます。$screen_nameはローマ字のユーザー名となっています。

今回は「ポケモン」、「パズドラ」をキーワードにして10件まで検索を行いました。取得例はこんな感じになります。

Twitter検索

といってもモザイクになってて分かりずらいと思いますが、あしからず。。

スポンサーリンク
Amazon
  • このエントリーをはてなブックマークに追加

関連記事

任意URLのTweetボタンを複数設置する

TwitterのTweetボタンをWebサイトやブログに複数設置する方法です。複数設置するということ

記事を読む

Twitterに登録しようとするとメールアドレスが無効ですと出てくる

Twitterに登録しようとしたら『×メールアドレスが無効です。』とでてしまい、おかしいと思

記事を読む

PEARをレンタルサーバーにインストールする

共用レンタルサーバーにPEARをインストールしたときにてこずったところについてメモ。今回レンタルサー

記事を読む

【PHP】クラスの配列をソートする

クラスのメンバに応じて配列をusortでソートします。クラス内の関数でソートする場合は下のようにする

記事を読む

【PHP】dateで指定日前の日付を出力する

指定日前の日付の取得方法 date_default_timezone_set('Asia/

記事を読む

Twitterのフォロワーが有効かどうか評価するツール

ツイッターの自分のフォロワーがスパムや活動休止中か判定することのできるツールに『Status Peo

記事を読む

【MySQL・PHP】WHERE句とORDER BY句を使った#1064エラーについて

MySQLで次のようなクエリを出すとエラーとなって帰ってきました。 SELECT * from

記事を読む

【PHP】usortのfunctionでCannot redeclare(再定義)される

初心者なのでusortがいいものかどうなのかよくわからないのですが、usortの関数定義をするとたま

記事を読む

【PHP・MySQL】Fatal error: Class ‘mysqli’ not found

Fatal error: Class 'mysqli' not found このエラーはmys

記事を読む

【PHP】正規表現で日付文字列から曜日を削除する

例えば次のように曜日が記述された日付があったときその曜日部分を削除する場合のときの正規表現は次のよう

記事を読む

NVIDIA DIGITSをSupervisorを使って自動起動する

はじめに 先日Ubuntu14.04にDIGITS 5をGPUなしP

【2017年度】GeForce 1080 Ti搭載BTOパソコン比較

はじめに 最近ディープラーニング用にGPUのないPCにDIGITSを

Windows用のシンプルなストップウォッチソフト紹介

Windows(10)でも使える使いやすいKAZAMITimerという

MNISTをDIGITS 5のCPUのみで試す(GPUなし)

はじめに DIGITSを使えばGUI操作で簡単にディープラーニングが

Windowsユーザが初めてMacBookを購入したときの注意点や感想

最近12インチのMacBookを購入しました。今までWindowsしか

Redmine3.2をUbuntu14.04にインストールして躓いた所についてメモ

はじめに Ubuntu14.04 ServerにRedmine3.2

UWSCを使ったソフト自動立ち上げ【SoftEther VPN Server】

やりたいこと 最近SoftEtherという筑波大学発のベンチャー企業

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑