Aug 30, 2013

twitter API root URL が変更になっていた件

「なんか様子が変だな」と二ヶ月以上放置していた自分もいけませんね。
ようやく時間ができたので、対策しました。

2013年6月23日から
the API root URL. が
"https://api.twitter.com/1/"
から
"https://api.twitter.com/1.1/"
に変更になっていました。

このため、古い twitteroauth.php を利用しているアプリは、動作しなくなります。

[対策方法]

新しい、twitteroauth.php とOAuth.php を
https://github.com/abraham/twitteroauth
から、ダウンロードして利用してください。

ちなみに、変更部分の差分は、
# diff twitteroauth_1/OAuth.php twitteroauth_1.1/OAuth.php
6,7c6,9
< class OAuthException extends Exception {
<   // pass
---
> if (!class_exists('OAuthException')) {
>   class OAuthException extends Exception {
>     // pass
>   }
873,874d874
<
< ?>
# diff twitteroauth_1/twitteroauth.php twitteroauth_1.1/twitteroauth.php
21c21
<   public $host = "https://api.twitter.com/1/";
---
>   public $host = "https://api.twitter.com/1.1/";
75c75
<   function getRequestToken($oauth_callback = NULL) {
---
>   function getRequestToken($oauth_callback) {
77,79c77
<     if (!empty($oauth_callback)) {
<       $parameters['oauth_callback'] = $oauth_callback;
<     }
---
>     $parameters['oauth_callback'] = $oauth_callback;
111c109
<   function getAccessToken($oauth_verifier = FALSE) {
---
>   function getAccessToken($oauth_verifier) {
113,115c111
<     if (!empty($oauth_verifier)) {
<       $parameters['oauth_verifier'] = $oauth_verifier;
<     }
---
>     $parameters['oauth_verifier'] = $oauth_verifier;
#

補足

twitter developpers サイトにサインインした後の "My applications" で
自分のアプリの Settings の "Allow this application to be used to Sign in with Twitter"に
チェックを入れると、自分のアプリのサインインの手続きが1ステップ短くなります。