【Twitter+OAuth】ページ遷移(セッション)とxml

発言数チェックが取り敢えず出来ました。
次は鍵アカウントも出来るようにOAuth認証させてやってみよう!
ということでまずは以前書いたOAuth認証のプログラム使ってやりました。

ページ遷移してみる

OAuthについてはよくわかっていないのですがアカウントが2つ情報を持ってきてそれをセッション管理しておけばいい! と解釈してまずはページ遷移をしても情報が取れるかやってみました。
新しいファイルに必要かなと思われるプログラムの一部をコピペ…。
getBody()して持ってこれるか挑戦。


撃沈。


Could not authenticate with OAuth
とか言われました。
ぐぐったらどうやら例の2つの情報(access tokenとaccess token secret)がセッションに保存されていないよう。
なんでかな、と参考書を読んだところhtmlを書き始めるより前にsession_start()を書かないといけないとあるじゃないですか。
書いたらきちんと取得してくれました。

必要な情報をxmlから取得

ここまで来たらあとはbotなどでやった処理と同じだーとXMLをsimplexml_load_stringして…とやるとまたエラー。
色々試行錯誤してみましたが直にxmlを要求してもBasic認証は終わったと言われるだけで中身が見れません…。
詰んだ/(^o^)\
どうしようかなとphaさんのbotスクリプトを眺めていたらまさに知りたかったことが書いてあるじゃないですか!
どうやらxmlをOAuthで取得したものをそのままsimplexml_load_stringしてはいけないようです。
取得したものをgetBody()し、それををsimplexml_load_stringするようです。
こんな感じになりました。

$result = $oauth->sendRequest('http://api.twitter.com/1/statuses/user_timeline.xml', array("count"=>"200"), 'GET');
$content = $result->getBody();

$xml = simplexml_load_string($content);
foreach($xml->status as $status){
	$text = $status->text;
	$screen_name = $status->user->screen_name;
}

あとは発言数チェックできるようちょこちょこ書いて終わり。