その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

Twitter APIでコードいじってないのに403エラーが出るようになった件

SLRequest 使って直接 Twitter API をたたいてる機能が、コードいじってないのにエラーになるようになったので、調べてみると、NSJSONSerialization でエラーが出ていました。


Twitter API からのレスポンスに何か変更あったのかな、と

typedef void(^SLRequestHandler)(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error);

この SLRequestHandler の引数の中身を見てみると、

  • errorは出てない
  • responseData が空
  • urlResponse の中身をみると、status code が 403

となってました。


調べてみると、2014年1月14日からSSL接続のみ受け付けるようになったとのこと。

対処

確かに、ちょうどそのAPIはhttpでアクセスしてたので、

http://api.twitter.com/1.1

https://api.twitter.com/1.1

に修正して解決。


あと今後のことも考えると、error の有無だけじゃなくて、status code も見るようにしたほうがよさそう。