[PHP] PHPでtwitter OAuthをする方法など

なんとなく調べたのでうpしときます。たぶんtwitteroauthライブラリ使うのが楽だと思います。今回はローカル開発環境でOAuth認証という事にとりあえずしときます。

作業環境はローカルアクセスで127.0.0.1/testにいると仮定しておきます。
まずは127.0.0.1/testフォルダがある位置で,

git clone git://github.com/abraham/twitteroauth.git

を実行します。するとtwitteroauthフォルダが出来ます。

次に

次にtwitteroauth/config.phpを編集します。

define('CONSUMER_KEY', '取得したの');
define('CONSUMER_SECRET', '取得したの');
define('OAUTH_CALLBACK', 'http://127.0.0.1/php/twitteroauth/callback.php');

後は,http://127.0.0.1/test/twitteroauthにbrowser経由でアクセスして,sign in with twitterボタンを押します.
すると、アプリ認証しますかという画面が出てくるのでここでYESを押すとcallback.phpにリダイレクトされて、ユーザー情報が色々と表示されるかと思います。 

作業的にはこれで終了

あとは、サンプルコード(index.phpにある)やtwitter api, twitteroauthにあるファイルを一通り見ておけば良いかと。特にsession周り

/* Some example calls */
//$connection->get('users/show', array('screen_name' => 'abraham')));
//$connection->post('statuses/update', array('status' => "ohoho"));
//$connection->post('statuses/destroy', array('id' => 5437877770));
//$connection->post('friendships/create', array('id' => 9436992)));
//$connection->post('friendships/destroy', array('id' => 9436992)));

単純なCLIENT(PINCODEでトークン入手ver)は以下のような感じでやるといいかと思います。
http://zisakuzien.exblog.jp/12089922/

あと、twitter検索はなんか別系統らしいので違う感じで利用しなければいけないっぽいです。

まあ単純にjson(atomもあり.. json推奨?)ファイル取得してデータ加工するだけっぽいですけど

とりあえず今のところはrubyなどつかって以下のような感じで

# -*- coding: utf-8 -*-
require 'rubygems'
require 'json'
require 'open-uri'
require 'cgi'

data = JSON.parse(open("http://search.twitter.com/search.json?q=#{CGI.escape(ARGV[0])}").read)
data["results"].each {|i| puts i }