[Twitter] 『tmhOAuth』でAPI認証できない時の対処法

自由が丘で働くWeb屋のブログ

[Twitter] 『tmhOAuth』でAPI認証できない時の対処法

[Twitter] 『tmhOAuth』でAPI認証できない時の対処法

Twitterログイン認証機能を実装したアプリにおいて、2013/04/04頃からエラーが出る事がある様です。
原因と解決方法は以下から。

Twitterログイン認証機能でエラーが出る原因

Twitterの旧APIは2013/05/07に正式終了するとの事ですが、その前に仕様が一部変更になった様です。

上記の記事によると、AccessTokenを取得する際に今までオプション扱いだった引数『oauth_verifier』が必須扱いになった様です。

確かにアクセストークンの内容を確認してみると
【Required oauth_verifier parameter not provided /oauth/access_token】
というエラーが確認できました。

ライブラリなどを用いていないのであれば

$accessToken = $connection->getAccessToken($_GET['oauth_verifier']);

を追記する事で対応可能の様です。

『tmhOAuth』を用いている場合の対処方法

TwitterAPIへのアクセス代行担うライブラリ『tmhOAuth』を用いている場合、上記とは記述方法が異なる為、対応方法も異なります。
まず、以下の様な記述部分を探します。

$twitter->request("POST", $twitter->url("oauth/access_token", ""));

上記コードを見やすい様に整形します。

$twitter->request(
	"POST",
	$twitter->url("oauth/access_token", "")
);

3行目の末尾に『,』を追記し、その下に『oauth_verifier』の値を指定します。

$twitter->request(
	"POST",
	$twitter->url("oauth/access_token", ""),
	array(
		'oauth_verifier' => $_REQUEST['oauth_verifier']
	)
);

これでTwitterログイン認証機能が正常に稼働する様になります。

 
カテゴリー:Webサービス, Webシステム開発
タグ:, ,
2013年4月14日 00時30分
 

関連記事

 

コメントを書く

(C) 自由が丘で働くWeb屋のブログ