Подтвердить что ты не робот

Не удалось получить токен запроса на устройствах, работающих под управлением Android M

Не удалось войти в Twitter в устройствах предварительного просмотра Android 6.0. Он отлично работает на всех других устройствах.

Ниже код используется для инициализации ткани с помощью твиттера.

Клавиши TWITTER_ KEY и TWITTER_SECRET были получены из настроек приложения 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)
4b9b3361

Ответ 1

Вот что вам нужно сделать

Twitter dev account-> настройка-> callBack url

а затем, если вы делаете для android (означает вход в систему для устройств Android)

twittersdk://
(добавьте это в обратный вызов)

если вы делаете для iOS (например, для входа в систему для устройств Apple)

twitterkit-CONSUMERKEY://
(добавьте это в обратный вызов)

и нажмите кнопку настройки обновления, она будет работать :)

Ответ 2

Перед этим решением я попробовал действительный URL (даже google.com). Но в моем случае это не сработало.

Затем я нашел это решение, которое хорошо сработало для меня:

Шаг 1. Перейдите в настройки своего приложения Twitter, войдя на сайт https://apps.twitter.com/ и выбрав вкладку " Настройки ", затем добавьте twittersdk:// в качестве URL- twittersdk:// обратного вызова. (Я нашел это в классе lib.)

Шаг 2. Сохраните обновление.

Шаг 3: попробуйте ваше приложение еще раз.

Ответ 3

У меня такая же проблема и решена. В моем случае мне нужно установить URL-адрес обратного вызова в учетной записи twitter dev.

Twitter dev account- > setting- > callBack url (установить любой действительный URL-адрес, например www.google.com)

Ответ 4

это лучшее решение, когда twitter auth не работает без приложения. я попытался с действительным URL-адресом обратного вызова firebase, но не работал, и я также много искал эту проблему, но не получал точное решение, решение @Moinkhan работало для меня и сэкономило мое время, благодаря @Moinkhan, он работает

До этого решения я пробовал использовать действительный URL и даже google.com. Но для моего дела это не сработало.

Я нашел решение ниже, и он хорошо работает для меня.

Шаг 1: перейдите в настройку вашего твиттера https://apps.twitter.com/ >> Настройки табуляции >> Заполните этот текст "twittersdk://" в поле url обратного вызова (я нашел его в классе lib)

Шаг 2. Сохраните обновление.

Шаг 3: снова проверьте свое приложение

Ответ 5

Я столкнулся с той же проблемой (всего несколько минут назад).

Перейдите в Управление приложениями Twitter
Нажмите "приложение", на котором вы сейчас работаете →
Перейдите на вкладку "Настройки" →
1) URL обратного вызова: введите любой действительный URL (например, домашнюю страницу вашего сайта)
2) Включить блокировку обратного вызова (рекомендуется включить блокировку обратного вызова, чтобы приложения не могли перезаписать URL-адрес обратного вызова). Убедитесь, что он не отмечен

Twitter Kit пытается использовать webview, если приложение twitter находится не.
Часть веб-сайта набора Twitter должна переопределить URL-адрес обратного вызова.

Информация о поле Callback Url четко указывает: чтобы запретить вашему приложению использовать обратные вызовы, оставьте это поле пустым.
Итак, нам нужно записать любой действительный url:)

Ссылка:
Личный опыт, полученный моментами назад: P
Не удалось получить токен запроса

Ответ 6

Создайте свой токен доступа в закладке "Ключ и доступ"

Ответ 7

У меня была такая же проблема на IOS, и нашел подсказку здесь:
По-видимому, теперь требуется установить URL-адрес обратного вызова

http://twitter-oauth.callback

Sind, я сделал это, логин снова работает.

Ответ 8

Пройдя много решений, один из них работал для меня - просто добавьте twittersdk:// как еще один URL обратного вызова в разделе настроек вашего приложения Twitter.

Ответ 9

  1. Убедитесь, что введены URL-адреса обратного вызова.
  2. Убедитесь, что на вашем устройстве установлено приложение Twitter (Android, iOS)

Надеюсь, это поможет. Это хорошо работает для меня (https://www.assetstore.unity3d.com/en/#!/content/79450).