android中没有应用程序时Twitter登录失败

Posted

技术标签:

【中文标题】android中没有应用程序时Twitter登录失败【英文标题】:Twitter login failure when there is no app in android 【发布时间】:2015-11-24 04:47:16 【问题描述】:

当我的 android 设备中没有 Twitter 应用程序时,Twitter 登录失败。 我的错误日志如下所示

11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter:无效 json: 11-24 09:47:54.390 31738-31738/com.nighthub.app 电子/推特:11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter:桌面应用程序 仅支持 oauth_callback 值 'oob' 11-24 09:47:54.390 31738-31738/com.nighthub.app 电子/推特: /oauth/request_token 11-24 09:47:54.390 31738-31738/com.nighthub.app 电子/推特:11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter:获取请求令牌失败 11-24 09:47:54.390 31738-31738/com.nighthub.app 电子/推特: com.twitter.sdk.android.core.TwitterApiException: 401 授权 需要 11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter: 在 retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:383) 11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter: at 改造.RestAdapter$RestHandler.access$100(RestAdapter.java:220) 11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter: at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278) 11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter: at 改造.CallbackRunnable.run(CallbackRunnable.java:42) 11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter:在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter: at 改造.Platform$Android$2$1.run(Platform.java:142) 11-24 09:47:54.390 31738-31738/com.nighthub.app E/Twitter:在 java.lang.Thread.run(Thread.java:818) 11-24 09:47:54.417 > 31738-31738/com.nighthub.app E/Twitter:授权完成 错误 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter: com.twitter.sdk.android.core.TwitterAuthException: 获取失败 请求令牌 11-24 09:47:54.417 31738-31738/com.nighthub.app 电子/推特:在 com.twitter.sdk.android.core.identity.OAuthController$1.failure(OAuthController.java:95) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter: at com.twitter.sdk.android.core.internal.oauth.OAuth1aService$1.failure(OAuth1aService.java:215) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter: at com.twitter.sdk.android.core.Callback.failure(Callback.java:45) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter:在 改造.CallbackRunnable$2.run(CallbackRunnable.java:53) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter:在 android.os.Handler.handleCallback(Handler.java:739) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter:在 android.os.Handler.dispatchMessage(Handler.java:95) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter:在 android.os.Looper.loop(Looper.java:135) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter:在 android.app.ActivityThread.main(ActivityThread.java:5312) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter:在 java.lang.reflect.Method.invoke(本机方法)11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter:在 java.lang.reflect.Method.invoke(Method.java:372) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter:在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901) 11-24 09:47:54.417 31738-31738/com.nighthub.app E/Twitter: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)

【问题讨论】:

在开发者控制台中检查应用程序是否完整,是否有电子邮件身份验证,权限 当应用程序存在时,它可以完美运行。 我也有同样的问题。你解决了吗? 在密钥和访问令牌选项卡中创建您的访问令牌 【参考方案1】:

https://apps.twitter.com/

选择您的应用 在设置选项卡中 在回调 URL 中输入一些 url(任何有效的 url 都可以,因为 Twitter 工具包会覆盖它)

【讨论】:

【参考方案2】:

我也遇到了同样的问题。我通过更改我的 twitter 应用程序设置解决了这个问题。

    访问https://apps.twitter.com/ 选择您的应用 进入设置 取消选中“启用回调锁定(建议启用回调锁定以确保应用无法覆盖回调 url)”

【讨论】:

【参考方案3】:

这是你们正在寻找的解决方案我遇到了同样的问题,我这样解决了,它是根据 twitter SDK https://***.com/a/51982842/3260396

【讨论】:

【参考方案4】:

当您的设备未安装 twitter 应用程序时会发生这种情况。所以它的开放网络视图..

https://***.com/a/41756828/4388036

我有同样的问题并解决了。在我的情况下,我需要在 Twitter 开发帐户中设置回调 url。

Twitter dev account->setting->callBack url(设置任何有效的url,比如 www.google.com)

【讨论】:

以上是关于android中没有应用程序时Twitter登录失败的主要内容,如果未能解决你的问题,请参考以下文章

使用twitter4j库的Twitter Android登录错误

登录 Twitter 失败

使用 twitter4J 登录 android 后关闭浏览器窗口

Android Twitter登录按钮不起作用

Twitter登录异常颤动

最佳实践:包括“使用 Twitter 登录”按钮 (Android)