お世話になります。
OAuth認証を行なうさい、ツイッター公式ページでユーザーがキャンセルして、アプリケーションに戻るボタンをクリックした場合に起こる不具合で質問いたします。
開発環境は、GAE/J、twitter4j-4.0.1 を利用させていただいています。
はきだされたエラーは下記のようになっております。
コールバックのパラメータについては伏せさせていただいています。
GET /CallBack?denied=****************************************
java.lang.NullPointerException
at java.net.URLEncoder.encode(URLEncoder.java:205)
at twitter4j.HttpParameter.encode(HttpParameter.java:261)
at twitter4j.auth.OAuthAuthorization.encodeParameters(OAuthAuthorization.java:411)
at twitter4j.auth.OAuthAuthorization.encodeParameters(OAuthAuthorization.java:394)
at twitter4j.auth.OAuthAuthorization.normalizeRequestParameters(OAuthAuthorization.java:378)
at twitter4j.auth.OAuthAuthorization.generateAuthorizationHeader(OAuthAuthorization.java:225)
at twitter4j.auth.OAuthAuthorization.generateAuthorizationHeader(OAuthAuthorization.java:277)
at twitter4j.auth.OAuthAuthorization.getAuthorizationHeader(OAuthAuthorization.java:66)
at twitter4j.HttpClientImpl.setHeaders(HttpClientImpl.java:208)
at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:91)
at twitter4j.HttpClientBase.request(HttpClientBase.java:53)
at twitter4j.auth.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:139)
at twitter4j.auth.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:159)
at twitter4j.TwitterBaseImpl.getOAuthAccessToken(TwitterBaseImpl.java:370)
・・・・以下省略
開発中のソースは公開できませんが、認証はすべてうまく行っております。
予想できることは、キャンセル時のコールバックのパラメータが不足しているためではないかと思われます。
ご回答いただければ、幸いです。
アプリケーションのリリースは来週初めを予定しておりますが、
バグであった場合の対処方法として、認証をキャンセルする場合は、アプリケーションには戻るとはせずに、ホームページに戻るようにするよう説明を加えるつもりです。