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登录错误