Ungültiger Bestätigungs-code-format Fehler mit Schreiber, OAuth android
ich bin mit Schreiber oAuth-Bibliothek zu implementieren, die Facebook-oAuth-login , mit
diese Beispiel
Habe ich auch eingestellt www.example.com (ein Gültiger ur) in der Site-URL und Mobile-Web-Url
in facebook-Anwendung-Einstellung
hier ist mein code in android
OAuthService service = new ServiceBuilder()
.provider(FacebookApi.class)
.apiKey(apiKey)
.apiSecret(apiSecret)
.callback("http://www.example.com/")
.build();
Scanner in = new Scanner(System.in);
System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
System.out.println();
//Obtain the Authorization URL
System.out.println("Fetching the Authorization URL...");
String authorizationUrl = service.getAuthorizationUrl(EMPTY_TOKEN);
System.out.println("Got the Authorization URL!");
System.out.println("Now go and authorize Scribe here:");
System.out.println(authorizationUrl);
System.out.println("And paste the authorization code here");
System.out.print(">>");
String val = new String();
if(in.hasNextLine())
val = in.nextLine();
System.out.println("VALUE"+val);
Verifier verifier = new Verifier(val);
System.out.println();
//Trade the Request Token and Verfier for the Access Token
System.out.println("Trading the Request Token for an Access Token...");
Token accessToken = service.getAccessToken(EMPTY_TOKEN, verifier);
System.out.println("Got the Access Token!");
System.out.println("(if your curious it looks like this: " + accessToken + " )");
System.out.println();
aber ich erhalte folgende Fehlermeldung
Caused by: org.scribe.exceptions.OAuthException: Response body is incorrect. Can't extract a token from this: '{"error":{"message":"Invalid verification code format.","type":"OAuthException"}}'
Logcat
: === Facebook's OAuth Workflow === : Fetching the Authorization URL... : Got the Authorization URL! : Now go and authorize Scribe here: : https://www.facebook.com/dialog/oauth?client_id=XXXXXXXXXXXX&redirect_uri=http%3A%2F%2Fwww.example.com%2F : And paste the authorization code here : >>VALUE Trading the Request Token for an Access Token... GC_FOR_MALLOC freed 5523 objects /320760 bytes in 81ms AndroidRuntime(541): Shutting down VM : threadid=1: thread exiting with uncaught exception (group=0x4001d800) FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.commauth/com.commauth.CommonAuthActivity}: org.scribe.exceptions.OAuthException: Response body is incorrect. Can't extract a token from this: '{"error":{"message":"Invalid verification code format.","type":"OAuthException"}}'
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method) Caused by: org.scribe.exceptions.OAuthException: Response body is incorrect. Can't extract a token from this: '{"error":{"message":"Invalid verification code format.","type":"OAuthException"}}'
at org.scribe.extractors.TokenExtractor20Impl.extract(TokenExtractor20Impl.java:33)
at org.scribe.oauth.OAuth20ServiceImpl.getAccessToken(OAuth20ServiceImpl.java:37)
at com.commauth.CommonAuthActivity.onCreate(CommonAuthActivity.java:57)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
... 11 more
WENN ich dieses als standalone-Programm, dann fragt er mich für einige Autorisierungs-code
aber ich weiß wirklich nicht, wei dort eingelagert.
hier auf die code-Zeile
Scanner in = new Scanner(System.in);
Verifier verifier = new Verifier(in.nextLine());
System.out.println();
- Ich habe das gleiche Problem
- ya m immer noch dort stecken, nur , ich habe versucht, auf ein Facebook-Forum auch, aber noch kein replay
- "er fragt mich nach einiger Berechtigung-code" Dieser Schreiber ist zu sagen: "Gehen Sie zur URL" (an dieser Zeile:
System.out.println(authorizationUrl);
) "und Facebook sollten Sie Fragen, ob Sie möchten, um diese Anwendung zu authorisieren. Autorisieren und Facebook geben Ihnen einen code. Paste das hier:" Macht das Sinn? Ich kann mir vorstellen, es wäre das gleiche auf android-Geräten. Aber vielleicht auch nicht, und das könnte der Grund sein, Sie bekommen den Fehler zu finden. Sorry, ich weiß nicht wie ich das problem beheben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, ein Schrägstrich am Ende der callback-url. Ich verbrachte ein paar STUNDEN Fehlersuche dieses!!! Dank dieser Beitrag ich die Antwort gefunden!
Ich hatte das gleiche Problem, und in der Tat, ich sehe gerade, dass der code, den ich war die Eingabe nicht korrekt war. Wenn ich copiyng es aus dem navigator-Adresse, ist es nicht kopieren Sie den gesamten code (zu groß ?). So überprüfen Sie, wenn der code ist gut.