2

oAuthを使用して認証を実行しています。

そのために特定のAPIを使用しようとしていますが、何が起こっているのかよくわかりません。

Android2.2を使用するAndroidデバイス。ユーザー名とパスワードを入力してトークンを受け取り、ログインを実行するWebビューを取得します。

同じコード、Android 4.0での同じ呼び出しは「null」を返し、サービスにログインできません。

必要なすべての詳細をログに記録すると、トークンを取得する必要があるメソッドはnullを返します。どこにログを記録するか、何をログに記録するか、何をチェックするかがわかりません。

11-08 14:16:19.576: W/Globals.Hyves.CONSUMER_KEY(946): 
11-08 14:16:19.576: W/Globals.Hyves.CONSUMER_SECRET(946): 
11-08 14:16:19.576: W/Globals.Hyves.REQTOKEN_LINK(946): http://data.hyves-api.nl/?strict_oauth_spec_response=true&methods=users.get,friends.get,wwws.create&ha_method=auth.requesttoken&ha_version=2.1
11-08 14:16:19.576: W/Globals.Hyves.REQACCESSTOKEN_LINK(946): http://data.hyves-api.nl/?strict_oauth_spec_response=true&ha_method=auth.accesstoken&ha_version=2.1
11-08 14:16:19.576: W/Globals.Hyves.AUTHORIZATION_LINK(946): http://www.hyves.nl/api/authorize/
11-08 14:16:19.681: W/Consumer(946): oauth.signpost.commonshttp.CommonsHttpOAuthConsumer@416263a0
11-08 14:16:19.710: W/Provider(946): oauth.signpost.commonshttp.CommonsHttpOAuthProvider@41624ad0
11-08 14:16:19.710: W/Globals.Hyves.REDIRECT_URI(946): connect://success
11-08 14:16:20.186: W/System.err(946): oauth.signpost.exception.OAuthCommunicationException: Communication with the service provider failed: null
11-08 14:16:20.206: W/System.err(946):  at oauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:214)

いくつかのデフォルトのページコーディングに違いがあるかどうか、または大幅に異なり、これが一方のAndroidで機能し、もう一方のAndroidでは機能しない原因となる可能性があるものがあるかどうかを誰かが知っていますか?

これは私が呼ぶ行です:

String authUrl = SignpostHandler.retrieveRequestTokenWithSignpost(provider, consumer, Globals.Hyves.REDIRECT_URI);

ログでわかるように、私にはプロバイダーとコンシューマーがあります

4

1 に答える 1

0

AsyncTaskを使用せずにhttpget/postリクエストを実行すると思います。

これはStrictModeの問題だと思います。StrictModeに関する情報はこちら

AsyncTaskでこれを試してください。ここにAsyncTaskについての情報があります

于 2012-11-08T15:31:52.107 に答える