[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フォルダが出来ます。
次に
- https://twitter.com/appsでアプリ作成.
- callbackは以下のような感じで設定http://127.0.0.1/php/twitteroauth/callback.php
- 後は適当に設定してアプリを作成すると,CONSUMER_KEYとCONSUMER_SECRETをゲットできます。
次に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 }