私は OAuth を初めて使用し、それを必要とする Android アプリを開発しており、道しるべライブラリを使用しています。
を使用してトークンを取得できるようになるまで、すべてが機能していると思います
String token = uri.getQueryParameter("oauth_token");
正しく返されますが、次の行
String verifier = uri.getQueryParameter("oauth_verifier");
null を返します。次のように初期化された uri をデバッグして検査しました
Uri uri = this.getIntent().getData();
そして、キー「oauth_verifier」を持っていないようです
ベリファイアがnullであるため、次の行を試すとOAuthExpectationFailedExceptionが発生します
provider.retrieveAccessToken(consumer, verifier);
ベリファイアが null である理由を理解するのを手伝ってくれる人はいますか? OOB ではなくコールバックを使用しています。
私は他の質問で見たことがあり、応答でこのようなものを導きます:
dat=myapp://twitter?oauth_token=tJpJHOOwoTGMwdvHyYbfX2tyHKOp0Y2kdRRZf3sM&
oauth_verifier=xc49oM8eVVmK46ZSLz2RMT2uqXn3SxrMxf5ZAMXaD2Y
私のものは似ていますが、ouath_verifier キーがありません。
ここで、機能する最初のインテントを送信し、リターンを取得します
String clientKey = "xxxxxxx";
String clientSecret = "yyyyyyyyy";
CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(clientKey,clientSecret);
provider = new CommonsHttpOAuthProvider(URL_Request_Token,
URL_Access_Token,
URL_Authorize";
provider.setOAuth10a(true);
try {
String authUrl = provider.retrieveRequestToken(consumer,CALLBACK_URI.toString());
String token = consumer.getToken();
String secret = consumer.getTokenSecret();
this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));
}
どんな助けでも大歓迎です