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

Aru*_* MG 14 twitter twitter-fabric

Android 6.0预览设备中的Twitter登录失败.它在所有其他设备上运行良好.

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

TWITTER_ KEY和TWITTER_SECRET键是从Twitter应用程序设置获得的.

    TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
    Fabric.with(this, new Twitter(authConfig));
Run Code Online (Sandbox Code Playgroud)

这是我在使用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)
Run Code Online (Sandbox Code Playgroud)

val*_*abh 23

以下是您需要做的事情

Twitter dev account-> setting-> callBack url

然后,如果你正在为Android做(意味着登录使用Android设备)

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

如果您正在为iOS做(意味着使用苹果设备登录)

twitterkit-CONSUMERKEY://
(在回调中添加此内容)

并点击更新设置按钮它会工作:)


Moi*_*han 21

在此解决方案之前,我尝试了有效的网址甚至google.com.但就我而言,它无法正常工作.

我发现下面的解决方案,它适合我.

第1步:转到您的Twitter应用程序设置https://apps.twitter.com/ >>标签设置>>将此文本" twittersdk:// " 填入您的回调网址字段(我在lib类中找到它)

第2步:保存更新

第3步:再次检查您的应用


tej*_*hah 8

我有同样的问题并解决了.在我的情况下,我需要在twitter dev帐户中设置回调网址.

Twitter开发帐户 - >设置 - > callBack网址(设置任何有效的网址,如www.google.com)


小智 7

这是twitter auth在没有app的情况下无法正常工作的最佳解决方案.我尝试使用有效的firebase auth回调网址,但没有工作,我也经常搜索这个问题,但没有得到确切的解决方案,@ Moinkhan解决方案为我工作,节省我的时间,感谢@Moinkhan,它的工作原理

在此解决方案之前,我尝试了有效的网址甚至google.com.但就我而言,它无法正常工作.

我发现下面的解决方案,它适合我.

第1步:转到您的Twitter应用程序设置https://apps.twitter.com/ >>标签设置>>将此文本"twittersdk://"填入您的回调网址字段(我在lib类中找到它)

第2步:保存更新

第3步:再次检查您的应用


Nav*_*r M 0

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