TwitterのログインがAndroid 6.0プレビューデバイスで失敗しました。他のすべてのデバイスで正常に機能しています。
以下のコードは、Twitterでファブリックを初期化するために使用されます。
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)
この解決策の前に、有効なURL(google.com
でも)を試しました。しかし、私の場合、うまくいきませんでした。
それから私はこの解決策を見つけました、それは私にとってうまくいきました:
ステップ1:https://apps.Twitter.com/ にログインし、を選択して、Twitterアプリの設定に移動します。 Settingsタブをクリックし、コールバックURLとしてtwittersdk://
を追加します。 (libクラスで見つけました。)
ステップ2:更新を保存します。
ステップ3:アプリを再試行してください。
これがあなたがする必要があることです
Twitter開発者アカウント->設定->コールバックURL
次に、Android(Androidデバイス)を使用してログインすることを意味します)
twittersdk://
(これをコールバックに追加)
iOSで実行している場合(Appleデバイス)を使用してログインすることを意味します)
twitterkit-CONSUMERKEY://
(これをコールバックに追加)
設定の更新ボタンを押すと機能します:)
私は同じ問題を抱えて解決しました。私の場合、Twitter開発者アカウントでコールバックURLを設定する必要があります。
Twitter開発者アカウント->設定->コールバックURL(www.google.comなどの有効なURLを設定)
これは、Twitter認証がアプリなしで機能しない場合の最良の解決策です。有効なfirebase authコールバックURLを試しましたが機能しません。また、この問題を頻繁に検索しますが、正確な解決策が得られません。@ Moinkhan解決策が私のために機能しました@ Moinkhanのおかげで、時間を節約できます。
この解決策の前に、私は有効なURLとgoogle.comも試しました。しかし、私の場合、それは機能していませんでした。
私は以下の解決策を見つけました、そしてそれは私にとってうまくいきます。
ステップ1:Twitterアプリの設定に移動します https://apps.Twitter.com/ >>タブ設定>>このテキスト「twittersdk://」をコールバックURLフィールドに入力します(見つけましたlibクラスで)
ステップ2:更新を保存する
ステップ3:アプリをもう一度チェックアウトする
私は同じ問題に直面していました(ほんの少し前)。
移動 Twitterアプリケーション管理 ->
現在作業している「アプリ」をクリックします->
[設定]タブをクリック->
1)コールバックURL:有効なURLを挿入します(Webサイトのホームページなど)
2)コールバックロックを有効にする(アプリがコールバックURLを上書きできないように、コールバックロックを有効にすることをお勧めします):それがチェックされていないであることを確認します
Twitterアプリがnotである場合、Twitter Kitはwebviewを使用しようとします。
Twitterキットのwebview部分はオーバーライドコールバックURLである必要があります。
情報Callback Urlフィールドには次のように明記されています:アプリケーションによるコールバックの使用を制限するには、このフィールドを空白のままにします。
したがって、有効なURLを書き留める必要があります:)
参照:
個人的な経験は、少し前に取得しました:P
リクエストトークンの取得に失敗しました
多くの解決策を試した後、私のために働いたのは、Twitterアプリの設定セクションにもう1つのコールバックURLとして-twittersdk://を追加することです。
IOSでも同じ問題が発生し、ヒントが見つかりました ここ :
どうやら、コールバックURLをに設定する必要があります
http://Twitter-oauth.callback
私がそうしたので、ログインは再び機能します。