つい最近まで見落としていたのだけれど、Twitter APIの認証がSSLだけになったとかなんとかいうことで、私が制作しているサイトにログインできなくなっていました。
たぶん、9月の下旬ぐらいから。
Twitter APIの公式を見てみると、9月26日に問題解決とあるから、この辺あたりが怪しいと思います。
で、 codebird.php というライブラリを使用していたのですが、これも随分前から更新されているのをほっといて古いライブラリを使用したままにしてました(2.3.3)
現時点でGitHubから引っ張ってみたら、2.5.0 でした。
ざっと眺めた限り、 使用する分には、 namespace が使われているので若干コード変更をしなくてはならなそうです。
古: Codebird::setConsumerKey('yourkey', 'yoursecret'); 新: \Codebird\Codebird::setConsumerKey('yourkey', 'yoursecret'); 古: $cb = Codebird::getInstance(); 新: $cb = \Codebird\Codebird::getInstance();
ま、といってもこんな程度なんですけども。
ちなみにサンプルコードを古いライブラリで走らせてみたところ、
session_start(); if (! isset($_SESSION['oauth_token'])) { // get the request token $reply = $cb->oauth_requestToken(array( 'oauth_callback' => 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] )); ↑ ここ
最初の $reply の時点でなにも帰ってきてなかったので、おそらくは oauth_requestToken メソッド内部が変わっていると思います。
これ以上、深く突っ込んでもよく分からない&めんどくさいのでやめておきました。
なお、ライブラリとソースの一部書き換えてもエラーが少しの間続いていたのは http サーバーにキャッシュ効かせてたのが影響していた模様です。
- 投稿タグ
- codebird.php, PHP, Twitter API
最近のコメント