【问题标题】:Twitter autenthication android without twitter app没有 Twitter 应用程序的 Twitter 身份验证 android
【发布时间】:2016-06-10 01:27:21
【问题描述】:

我正在为一个 android 应用程序使用织物 twitter 身份验证,并且只有当我在没有 twitter 应用程序的手机中安装了 twitter 官方应用程序时它才有效,当我尝试进行身份验证时,我得到了这个异常。 是否必须在手机上安装 twitter 应用才能通过 twitter 进行身份验证?

06-09 19:00:41.574 12893-13421/client.tclient.com.client E/SharedPreferencesImpl: Couldn't create directory for SharedPreferences file /data/user/0/client.tclient.com.client/shared_prefs/com.crashlytics.prefs.xml
06-09 19:00:43.574 12893-12893/client.tclient.com.client E/ApkAssets: Error while loading asset assets/natives_blob_64.bin: java.io.FileNotFoundException: assets/natives_blob_64.bin
06-09 19:00:43.575 12893-12893/client.tclient.com.client E/ApkAssets: Error while loading asset assets/snapshot_blob_64.bin: java.io.FileNotFoundException: assets/snapshot_blob_64.bin
06-09 19:00:44.342 12893-12893/client.tclient.com.client E/Twitter: Invalid json: <?xml version="1.0" encoding="UTF-8"?>
                                                                    <hash>
                                                                      <error>Desktop applications only support the oauth_callback value 'oob'</error>
                                                                      <request>/oauth/request_token</request>
                                                                    </hash>

                                                                    com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 8 path $
                                                                        at com.google.gson.JsonParser.parse(JsonParser.java:65)
                                                                        at com.google.gson.JsonParser.parse(JsonParser.java:45)
                                                                        at com.twitter.sdk.android.core.TwitterApiException.parseApiError(TwitterApiException.java:136)
                                                                        at com.twitter.sdk.android.core.TwitterApiException.readApiError(TwitterApiException.java:125)
                                                                        at com.twitter.sdk.android.core.TwitterApiException.<init>(TwitterApiException.java:58)
                                                                        at com.twitter.sdk.android.core.TwitterApiException.convert(TwitterApiException.java:110)
                                                                        at com.twitter.sdk.android.core.Callback.failure(Callback.java:45)
                                                                        at retrofit.CallbackRunnable$2.run(CallbackRunnable.java:53)
                                                                        at android.os.Handler.handleCallback(Handler.java:739)
                                                                        at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                        at android.os.Looper.loop(Looper.java:148)
                                                                        at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                     Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 8 path $
                                                                        at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1572)
                                                                        at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1421)
                                                                        at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:544)
                                                                        at com.google.gson.stream.JsonReader.peek(JsonReader.java:427)
                                                                        at com.google.gson.JsonParser.parse(JsonParser.java:60)
                                                                        at com.google.gson.JsonParser.parse(JsonParser.java:45) 
                                                                        at com.twitter.sdk.android.core.TwitterApiException.parseApiError(TwitterApiException.java:136) 
                                                                        at com.twitter.sdk.android.core.TwitterApiException.readApiError(TwitterApiException.java:125) 
                                                                        at com.twitter.sdk.android.core.TwitterApiException.<init>(TwitterApiException.java:58) 
                                                                        at com.twitter.sdk.android.core.TwitterApiException.convert(TwitterApiException.java:110) 
                                                                        at com.twitter.sdk.android.core.Callback.failure(Callback.java:45) 
                                                                        at retrofit.CallbackRunnable$2.run(CallbackRunnable.java:53) 
                                                                        at android.os.Handler.handleCallback(Handler.java:739) 
                                                                        at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                        at android.os.Looper.loop(Looper.java:148) 
                                                                        at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
06-09 19:00:44.343 12893-12893/client.tclient.com.client E/Twitter: Failed to get request token
                                                                    com.twitter.sdk.android.core.TwitterApiException: 401 Authorization Required
                                                                        at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:383)
                                                                        at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
                                                                        at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
                                                                        at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
                                                                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                                        at retrofit.Platform$Android$2$1.run(Platform.java:142)
                                                                        at java.lang.Thread.run(Thread.java:818)
06-09 19:00:44.383 12893-12893/client.tclient.com.client E/Twitter: Authorization completed with an error
                                                                    com.twitter.sdk.android.core.TwitterAuthException: Failed to get request token
                                                                        at com.twitter.sdk.android.core.identity.OAuthController$1.failure(OAuthController.java:95)
                                                                        at com.twitter.sdk.android.core.internal.oauth.OAuth1aService$1.failure(OAuth1aService.java:213)
                                                                        at com.twitter.sdk.android.core.Callback.failure(Callback.java:45)
                                                                        at retrofit.CallbackRunnable$2.run(CallbackRunnable.java:53)
                                                                        at android.os.Handler.handleCallback(Handler.java:739)
                                                                        at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                        at android.os.Looper.loop(Looper.java:148)
                                                                        at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

【问题讨论】:

    标签: android twitter twitter-fabric


    【解决方案1】:

    您正在尝试将 XML 解析为 JSON,错误是:

    <?xml version="1.0" encoding="UTF-8"?>
    <hash>
        <error>Desktop applications only support the oauth_callback value 'oob'</error>
        <request>/oauth/request_token</request>
    </hash>
    

    Desktop applications only support the oauth_callback value 'oob'

    还提供有关您的实施的更多信息。

    【讨论】:

    • 但是这个错误只有在我卸载twitetr官方应用时才会出现,安装后它就可以工作了。
    猜你喜欢
    • 2015-06-10
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    相关资源
    最近更新 更多