最初に私のシナリオを説明しましょう。Scribe で直接サポートされていない API に Oauth 経由で接続するために Scribe を使用しています。つまり、私が接続しているサーバーでは、accessToken を作成できるようにするための最後のステップとして、4 桁の数字を入力する必要があります。
これはうまく機能していますが、ユーザーが4桁を間違って入力すると、アプリは永遠に実行され続け、エラーや例外はスローされません(私の理解では)。これは私が使用しているコードです:
//verifierString has the 4-digit number
verifier = new Verifier(verifierString);
Logger.debug("Trading the Request Token for an Access Token...");
accessToken = service.getAccessToken(requestToken, verifier);
アプリは getAccessToken に永久に残ります。ユーザーが4桁を間違って入力する可能性が非常に高いので、これを制御する方法があるのだろうか. 私が使用しているものであるため、getAccessToken、Oauth 1.0 のコードを確認しました。
public Token getAccessToken(Token requestToken, Verifier verifier)
{
config.log("obtaining access token from " + api.getAccessTokenEndpoint());
OAuthRequest request = new OAuthRequest(api.getAccessTokenVerb(), api.getAccessTokenEndpoint());
request.addOAuthParameter(OAuthConstants.TOKEN, requestToken.getToken());
request.addOAuthParameter(OAuthConstants.VERIFIER, verifier.getValue());
config.log("setting token to: " + requestToken + " and verifier to: " + verifier);
addOAuthParams(request, requestToken);
appendSignature(request);
Response response = request.send();
return api.getAccessTokenExtractor().extract(response.getBody());
}
send() が RuntimeException をスローするように見えますが、コードからそれをキャッチすることが正しい方法であるかどうかはわかりません....何か提案はありますか?
ありがとう !アレックス