2012-02-15 3 views
1

Twitter를 내 Android 애플리케이션에 통합하려고합니다. 나는 Android10 및 abhinavblog의 코드를 확인했지만 난 그냥 CONSUMER_KEY 및 CONSUMER_SECRET 변경했습니다하지만 난Android 앱에 Twitter를 통합하는 중에 오류가 발생했습니다.

$02-22 11:24:48.012: W/KeyCharacterMap(515): No keyboard for id 0 
    02-22 11:24:48.012: W/KeyCharacterMap(515): Using default keymap:    /system/usr/keychars/qwerty.kcm.bin 
02-22 11:24:53.343: I/com.ecs.android.sample.twitter.PrepareRequestTokenActivity(515): Starting task to retrieve request token. 
02-22 11:24:53.352: I/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): Retrieving request token from Google servers 
02-22 11:24:54.374: D/dalvikvm(515): GC_FOR_MALLOC freed 10292 objects/500672 bytes in 91ms 
02-22 11:24:54.493: D/dalvikvm(515): GC_FOR_MALLOC freed 2064 objects/289696 bytes in 71ms 
02-22 11:24:54.503: D/NativeCrypto(515): Freeing OpenSSL session 
02-22 11:24:55.022: W/DefaultRequestDirector(515): Authentication error: Unable to respond to any of these challenges: {} 
02-22 11:24:55.022: I/global(515): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required. 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): Error during OAUth retrieve request token 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): oauth.signpost.exception.OAuthNotAuthorizedException: Authorization failed (server replied with a 401). This can happen if the consumer key was not correct or the signatures did not match. 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at oauth.signpost.AbstractOAuthProvider.handleUnexpectedResponse(AbstractOAuthProvider.java:239) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at oauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:189) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at oauth.signpost.AbstractOAuthProvider.retrieveRequestToken(AbstractOAuthProvider.java:69) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at com.ecs.android.sample.twitter.OAuthRequestTokenTask.doInBackground(OAuthRequestTokenTask.java:55) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at com.ecs.android.sample.twitter.OAuthRequestTokenTask.doInBackground(OAuthRequestTokenTask.java:1) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 
02-22 11:24:55.022: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(515): at java.lang.Thread.run(Thread.java:1096) 

왜 인증 오류 IS-코드 -

@Override 
    protected Void doInBackground(Void... params) { 

     try { 
      Log.i(TAG, "Retrieving request token from Google servers"); 
      final String url = provider.retrieveRequestToken(consumer, Constants.OAUTH_CALLBACK_URL); 
      Log.i(TAG, "Popping a browser with the authorize URL : " + url); 
      Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)).setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_FROM_BACKGROUND); 
      context.startActivity(intent); 
     } catch (Exception e) { 
      Log.e(TAG, "Error during OAUth retrieve request token", e); 
     } 

     return null; 
    } 

로그 캣 오류이 블록에서 오류를 받고 있어요 : 이러한 문제 중 하나에 응답 할 수 없음 : {}이 (가) 비어 있습니까?

Twitter 응용 프로그램 등록에서 읽기 및 쓰기 권한을 부여했습니다.

도움을 주시면 감사하겠습니다.

답변

1

귀하의 CONSUMER_KEY 및 CONSUMER_SECRET이 정확하지 않습니다. 등록한 응용 프로그램이 트위터에 등록되어 있어야합니다.

+0

고객. 하지만 난 정확한 열쇠를 준 애플 리케이션에서 나는 심지어 리셋 키 옵션을 시도 트위터에 등록했습니다. 그리고 나는 또한 트위터에 하나의 새로운 응용 프로그램을 등록하고 새 키를 가져 왔고 또한 동일한 오류가 발생하는 것보다 내 코드가 변경되었습니다. 나는 총체적으로 여기에서 붙어있다. 제발 도와주세요 –

+0

Chk이 질문에 어떤 해결책을 얻을 수도 있습니다. http://stackoverflow.com/questions/3315669/android-twitter-retrieverequesttoken-401-on-request-token – voidRy

+0

빠른 답장을 보내 주셔서 감사합니다. CALLBACK URL 사용. 트위터 사이트에 앱을 등록 할 때 Java 파일에 무엇이 있어야하며 XML 파일에 무엇이 들어 있어야하는지 씁니다. –

관련 문제