2017-08-09 27 views
1

あなたのアンドロイドアプリでTwitterのログインを統合中に問題を解決してください。android :: com.twitter.sdk.android.core.TwitterApiExceptionのツイッターの問題:HTTPリクエストが失敗しました。ステータス:400

ツイッター:ここ

が問題であるリクエストトークン com.twitter.sdk.android.core.TwitterApiExceptionの取得に失敗しました:com.twitter.sdkで400 :HTTPリクエストは、ステータスを失敗しました。 android.core.Callback.onResponse(Callback.java:42) at retrofit2.ExecutorCallAdapterFactory $ ExecutorCallbackCall $ 1 $ 1.run(ExecutorCallAdapterFactory.java:68) android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) android.os.Looper.loop(Looper.java:194) android.app.ActivityThread.main(ActivityThread.java:5643) at java.lang.reflect.Method.invoke(ネイティブメソッド) at java。 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:960) at lang.reflect.Method.invoke ZygoteInit.java:755)

ツイッター:許可エラーで com.twitter.sdk.android.core.TwitterAuthExceptionを完了:com.twitter.sdk.android.core.identity.OAuthConでリクエストトークン の取得に失敗しましたtroller $ 1.failure(OAuthController.java:94) com.twitter.sdk.android.core.internal.oauth.OAuth1aService $ 1.failure(OAuth1aService.java:191) at com.twitter.sdk.android.core。 android.osでandroid.os.Handler.handleCallbackでretrofit2.ExecutorCallAdapterFactory $ ExecutorCallbackCall $ 1 $ 1.run(ExecutorCallAdapterFactory.java:68) (Handler.java:815) でCallback.onResponse(Callback.java:42) 。 Handler.dispatchMessage(Handler.java:104)android.os.Looper.loop(Looper.java:194)で android.app.ActivityThread.main(ActivityThread.java:5643)で れるjava.lang.reflectで 。 Method.invoke(ネイティブメソッド) com.android.internal.os.ZygoteInitでcom.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:960) でjava.lang.reflect.Method.invoke(Method.java:372) で.main(ZygoteInit.java:755)

そしてここでは私のコードです:事前に悪い英語と感謝のために申し訳ありません

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    TwitterConfig config = new TwitterConfig.Builder(this) 
      .logger(new DefaultLogger(Log.DEBUG)) 
      .twitterAuthConfig(new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET)) 
      .debug(true) 
      .build(); 
    Twitter.initialize(config); 
    setContentView(R.layout.layout_list); 

    nameit = (TextView) findViewById(R.id.nameit); 
    loginButton = (TwitterLoginButton) findViewById(R.id.login_button); 

    loginButton.setCallback(new Callback<TwitterSession>() { 
     @Override 
     public void success(Result<TwitterSession> result) { 
      // Do something with result, which provides a TwitterSession for making API calls 
      try { 
       TwitterSession session = TwitterCore.getInstance().getSessionManager().getActiveSession(); 
       TwitterAuthToken authToken = session.getAuthToken(); 
       String token = authToken.token; 
       String secret = authToken.secret; 
       TwitterSession session1 = result.data; 
       String name = session1.getUserName(); 
       nameit.setText("Welcome " + name); 
       Log.e("DATTTA", session.getUserId() + ""); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 

     @Override 
     public void failure(TwitterException exception) { 
      // Do something on failure 
     } 
    }); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    loginButton.onActivityResult(requestCode, resultCode, data); 
} 

答えて

2

私は同じ問題を抱えており、以下の手順で解決しました。あなたは現在、「設定」タブ

1)コールバックURLに クリックして作業している「アプリ」に関する

ゴーTwitterのアプリケーション管理に クリック:コールバックURLは http://www.google.com のように任意の有効なURLを挿入あなたのデバイスにTwitterアプリがインストールされていないときにあなたをブラウザにリダイレクトするために使用されます。

2)コールバックロックを(コールバックURLを上書きすることができないアプリケーションを確実にするためにロックするコールバックを有効にすることを推奨し)を有効にします。それは代わりに、アプリケーションのクラスで自分のTwitterのSDKを初期化するためのチェックを外す

3)必要がないことを確認します以下のようにそれを初期化:

private void init(){ 

    TwitterAuthConfig authConfig = new TwitterAuthConfig(getResources().getString(R.string.consumer_key), getResources().getString(R.string.secrete_key)); 
    TwitterConfig config = new TwitterConfig.Builder(this) 
      .logger(new DefaultLogger(Log.DEBUG)) 
      .twitterAuthConfig(authConfig) 
      .debug(true) 
      .build(); 
    Twitter.initialize(config); 

} 

おかげ..

関連する問題