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 も見るようにしたほうがよさそう。