2013年12月アーカイブ



twitter4j を使った認証で、ある日突然認証ができなくなった。

今までは動いていたのに以下のようなエラーで認証ができない。
特定の端末のみで起こっており、他の端末では問題なく動作する。

Received authentication challenge is null
Relevant discussions can be found on the Internet at:
http://www.google.co.jp/search?q=bfb606ed or
http://www.google.co.jp/search?q=4ef9708b
TwitterException{exceptionCode=[bfb606ed-4ef9708b e2110e48-90349c9b], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=3.0.3}
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:192)
at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:98)
at twitter4j.auth.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:122)
at twitter4j.auth.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:104)
at twitter4j.TwitterBaseImpl.getOAuthRequestToken(TwitterBaseImpl.java:281)
at twitter4j.TwitterBaseImpl.getOAuthRequestToken(TwitterBaseImpl.java:273)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1019)
Caused by: java.io.IOException: Received authentication challenge is null
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.processAuthHeader(HttpURLConnectionImpl.java:1169)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.processResponseHeaders(HttpURLConnectionImpl.java:1111)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.retrieveResponse(HttpURLConnectionImpl.java:1064)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:735)
at twitter4j.internal.http.HttpResponseImpl.<init>(HttpResponseImpl.java:34)
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:156)
14 more

少々悩んだ結果、原因は端末の時刻が現在時刻と大きくずれていることでした。

端末の時刻を現在時刻に合わせたところ問題なく動きました。

テストのために時刻を進めていて、元に戻すのを忘れていました。。。

twitter4j に限らず iOS の twitter 認証でも同様に失敗するようです。

前にも一度これでハマったはずなのに、もう一度同じ失敗を繰り返しました。
しかも以前に経験していたことも思い出せなかったので備忘録として書きました。



このアーカイブについて

このページには、2013年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2013年10月です。

次のアーカイブは2014年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.13-ja