Twitter 无法在运行Android M的设备上获取请求令牌

Twitter 无法在运行Android M的设备上获取请求令牌,twitter,twitter-fabric,Twitter,Twitter Fabric,在Android 6.0预览设备中登录Twitter失败。它可以在所有其他设备上正常工作 下面的代码用于使用twitter初始化结构 TWITTER密钥和TWITTER密钥是从TWITTER应用程序设置中获取的 TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET); Fabric.with(this, new Twitter(authConfig)); 这是我在使用Tw

在Android 6.0预览设备中登录Twitter失败。它可以在所有其他设备上正常工作

下面的代码用于使用twitter初始化结构

TWITTER密钥和TWITTER密钥是从TWITTER应用程序设置中获取的

    TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
    Fabric.with(this, new Twitter(authConfig));
这是我在使用TwitterApiClient登录时得到的错误日志

  08-31 07:52:09.988 4692-4692/? E/Twitter: Failed to get request token
  08-31 07:52:09.988 4692-4692/? E/Twitter: com.twitter.sdk.android.core.TwitterApiException: 401 Authorization Required
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:383)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.Platform$Android$2$1.run(Platform.java:142)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at java.lang.Thread.run(Thread.java:818)
  08-31 07:52:10.000 4692-4692/? E/Twitter: Authorization completed with an error
  08-31 07:52:10.000 4692-4692/? E/Twitter: com.twitter.sdk.android.core.TwitterAuthException: Failed to get request token
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.twitter.sdk.android.core.identity.OAuthController$1.failure(OAuthController.java:95)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.twitter.sdk.android.core.internal.oauth.OAuth1aService$1.failure(OAuth1aService.java:215)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.twitter.sdk.android.core.Callback.failure(Callback.java:45)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at retrofit.CallbackRunnable$2.run(CallbackRunnable.java:53)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at android.os.Handler.handleCallback(Handler.java:739)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at android.os.Handler.dispatchMessage(Handler.java:95)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at android.os.Looper.loop(Looper.java:148)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at android.app.ActivityThread.main(ActivityThread.java:5417)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at java.lang.reflect.Method.invoke(Native Method)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

在“密钥和访问令牌”选项卡中创建您的访问令牌

我也有同样的问题并已解决。在我的例子中,我需要在twitter开发帐户中设置回调url

Twitter开发帐户->设置->回调url(设置任何有效url,如 (www.google.com)


我也面临同样的问题(就在几分钟前)。

转到->
单击您当前正在使用的“应用程序”->
单击“设置”选项卡->
1) 回调URL:插入任何有效URL(如网站主页)
2) 启用回拨锁定(建议启用回拨锁定以确保应用程序无法覆盖回拨url):验证它是否未选中

如果Twitter应用程序未找到,Twitter工具包将尝试使用webview
Twitter工具包的webview部分需要覆盖回调url

关于回调Url的信息字段明确说明:若要限制应用程序使用回调,请将此字段留空。
因此,我们需要写下任何有效的url:)

参考:
不久前获得的个人经验:P

在此解决方案之前,我尝试了一个有效的url(甚至
google.com
)。但是,就我而言,它不起作用

然后我找到了这个解决方案,它对我很有效:

第1步:登录并选择设置选项卡,转到twitter应用的设置,然后添加
twittersdk://
作为回调url。(我在自由课上找到的。)

第2步:保存更新

第3步:请重试您的应用程序

  • 确保您的回调URL已输入
  • 确保您的设备上安装了Twitter应用程序(Android、iOS)

  • 希望这有帮助。这对我来说很好()。

    这是在没有应用程序的情况下twitter身份验证无法工作时的最佳解决方案。我尝试使用有效的firebase身份验证回调url,但不起作用,我也多次搜索此问题,但没有得到确切的解决方案,@Moinkhan解决方案对我有效,节省了我的时间,多亏了@Moinkhan,它才起作用

    在这个解决方案之前,我尝试了有效的url,甚至google.com。但对我来说,它不起作用

    我找到了下面的解决方案,它对我很有效

    步骤1:转到您的twitter应用程序设置>>选项卡设置>>将此文本“twittersdk://”填充到您的回调url字段(我在lib类中找到它)

    步骤2:保存更新


    第三步:再次查看你的应用程序

    以下是你需要做的事情

    Twitter开发帐户->设置->回调url

    然后,如果你是为android做的(意味着使用android设备登录)

    twittersdk://
    (在回调中添加此项)

    如果您正在为iOS操作(意味着使用apple设备登录)

    twitterkit消费社区://
    (在回调中添加此项)

    然后点击更新设置按钮
    它会起作用:)

    我在iOS上遇到了同样的问题,并发现了一个提示:
    显然,现在需要将回调URL设置为

    http://twitter-oauth.callback


    自从我这样做了,登录再次工作

    在经历了很多解决方案之后,对我有效的是
    只需在您的twitter应用程序的设置部分添加-twittersdk://作为一个回调URL。

    有时在开发者控制台r u验证wia电子邮件中,这些是您确认的吗??并检查虚拟和真实设备。。。!!!我已经这样做了。Igot下面的错误:com.twitter.sdk.android.core.TwitterAuthException:无法获取请求令牌此错误的原因是我没有安装twitter应用程序。如果我安装了,那么它可以正常工作。我应该怎么做?@Rajat此处存在相同的问题,仅适用于sdk.M设备。。。。。。。。。。。请任何人帮助…………请不要在多个旧问题中持续发布相同的答案。如果您认为是重复的,请将其标记为重复。其目的是允许用户即使访问此帖子也能获得答案。@Shree和问题不同,但对于当前场景,解决方案相同。但在未来,它可能是一个different@Moinkhan谢谢你,谢谢你救了我一天。我想知道如果没有“twittersdk://”的话,这会不会不起作用?您正在使用Firebase UI吗?不得在设备上安装Twitter,它将打开web视图