Twitter API 1.1で検索したツイートを拾ってくる方法

Jul 06, 2013

みんなのツイートを検索したいんだよ

今回は仕事でも使用したTwitter API 1.1の導入方法とツイートを取得するまでの流れを解説したいと思います。
Twitter API 1.1を使うには,OAuth認証が必要が必要となりますので
まず、Twitter Developersから登録を行いましょう。
行わないとTwitter API 1.1を使うことはできません。(Twitterアカウントがない方は作成する必要があります。)

登録方法

Twitter Developersにアクセスし、お持ちのTwitterアカウントでログインします。

twitter sign in

右上の「Create a new application」というボタンを
クリックしてアプリケーションを作りましょう。

右上のボタンを押しましょう

次にアプリケーションの詳細情報として下記の情報を記入します。

twi create field

  • Name(必須)[サイトの名前を書いて下さい]
  • Description(必須)[サイトの説明を書いて下さい]
  • Website(必須)[使用するWebsiteのURLを書いて下さい]
  • Callback URL

「Callback URL」は任意なので私は登録しませんでした。

下部にある「Create your Twitter Application」ボタンをクリックしましょう。

その後は、下記のセッティングを行います。

1. Settingタブ

settingタブのApplication typeを「Read only」から「Read and Write」に変更し、「Update this Twitter application’s setting」ボタンをクリックします。

Read and Writeにチェック

2. Detailsタブ

Detailsタブの中にあるYour access tokenのCreate my access tokenボタンをクリックします。

access tokenを取得しましょう

クリックすると、「Access token」と「Access token secret」が発行されるはずです。
この2つのコードとDetailsタブのOAuth settingsの「Consumer key」と「Consumer secret」の2つのコードが重要なコードとなってきますのでメモっておきましょう。

Twitter APIの設定はこれで終了です。
次に、APIを使った実装に移っていきましょう。

twitteroauthのダウンロード

twitteroauthの最新版をダウンロードしましょう。ダウンロードしたものを解凍したらtwitteroauthフォルダが入っており、その中に「OAuth.php」と「twitteroauth.php」があると思います。
そうしたら、twitteroauthフォルダごと、表示させたい階層と同じところに置きましょう。

twi-api.phpの作成

「twi-api.php」を新規で作成して下さい。(ファイル名は任意で大丈夫です。)
その中に先程ダウンロードした「twitteroauth.php」を呼び出しましょう。

require_once 'twitteroauth/twitteroauth.php';

次に、Twitter API登録時にメモっといて下さいと言っていた4つのキーを記述していきます。

define('CONSUMER_KEY', 'カスタマーキーを記入して下さい。');
define('CONSUMER_SECRET', 'カスタマーシークレットを記入して下さい。');
define('ACCESS_TOKEN', 'アクセストークンを記入して下さい。');
define('ACCESS_TOKEN_SECRET', 'アクセストークンシークレットを記入して下さい。');

$twitterOAuth = new TwitterOAuth(
CONSUMER_KEY,
CONSUMER_SECRET,
ACCESS_TOKEN,
ACCESS_TOKEN_SECRET
);

$keywords = '検索したいキーワードを記入して下さい。';

$param = array(
    "q"=>$keywords,                  // keyword
    "lang"=>"ja",                   // language
    "count"=>10,                   // number of tweets
    "result_type"=>"recent");       // result type
 
$json = $twitterOAuth->OAuthRequest(
    "https://api.twitter.com/1.1/search/tweets.json",
    "GET",
    $param);
 
$result = json_decode($json, true); 

Twitter APIとの接続部分はできたので次は、表示するところの部分を書きましょう。

if($result['statuses']){
    foreach($result['statuses'] as $tweet){

  // ここに表示させたいものを書いて下さい。
  // ちなみに以下のものは私が使ったコードです。
  // echo $tweet['user']['name']; //ユーザーネーム 
  // echo $tweet['text']; //つぶやき
  // echo $tweet['user']['profile_image_url']; //アイコンURL
?>
  
    
    

関連したつぶやきがありません。

最終的にこれを表示したいところに下記のコードを書けば
表示されます。

いろいろと四苦八苦しましたがようやくできました。
お疲れ様でした。

全体ソースコード

▼twi-api.php

$keywords,                  // keyword
    "lang"=>"ja",                   // language
    "count"=>10,                   // number of tweets
    "result_type"=>"recent");       // result type
 
$json = $twitterOAuth->OAuthRequest(
    "https://api.twitter.com/1.1/search/tweets.json",
    "GET",
    $param);
 
$result = json_decode($json, true); 

if($result['statuses']){
    foreach($result['statuses'] as $tweet){
?>
  // ここに表示させたいものを書いて下さい。
  // ちなみに以下のものは私が使ったコードです。
  // echo $tweet['user']['name']; ユーザーネーム 
  // echo $tweet['text']; つぶやき
  // echo $tweet['user']['profile_image_url']; アイコンURL
  
    
    

関連したつぶやきがありません。

▼index.php






Twitter API 1.1


つぶやき