我的尝试:
我已经在Twitter上注册了一个应用程序,并获得了Consumer Key和Secret。我甚至还得到了各种登录Twitter的代码,这些是我已经尝试过的:
http://thetechnib.blogspot.com/2011/01/android-sign-in-with-twitter.html
[此链接已失效,您可以在此处查看存档here]
http://www.android10.org/index.php/articleslibraries/291-twitter-integration-in-your-android-application
我的问题:
到目前为止,以上代码带我进入Twitter登录界面,让我登录并获得PIN以完成登录过程。但我不知道如何使用它来使我的应用程序工作。我检查了整个代码,但没有找到与PIN相关的内容。
其次,在我在Twitter上注册应用程序时,它要求回调URL,但由于写明它真的不需要,我跳过了指定。(我甚至不知道它应该是什么!)
因此,在我的应用程序中,我将回调URL设置为null。
有人能建议我如何使用这个PIN来完成登录过程并将用户带回我的应用程序的主要活动吗?是回调URL导致问题还是我做错了其他事情?
请回复。感谢任何帮助!
编辑:
正如Frankenstein建议的那样,我尝试了github.com/ddewaele/AndroidTwitterSample/downloads上的代码
我添加了我的Consumer Key和Consumer Secret以及回调URL:
public static final String OAUTH_CALLBACK_SCHEME= "x-oauthflow-twitter";
public static final String OAUTH_CALLBACK_HOST= "callback";
public static final String OAUTH_CALLBACK_URL= OAUTH_CALLBACK_SCHEME + "://" + OAUTH_CALLBACK_HOST;
但是它给我这个错误:
日志记录:
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): Error during OAUth retrieve request token
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): 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.
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at oauth.signpost.AbstractOAuthProvider.handleUnexpectedResponse(AbstractOAuthProvider.java:239)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at oauth.signpost.AbstractOAuthProvider.retrieveToken(AbstractOAuthProvider.java:189)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at oauth.signpost.AbstractOAuthProvider.retrieveRequestToken(AbstractOAuthProvider.java:69)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at com.ecs.android.sample.twitter.OAuthRequestTokenTask.doInBackground(OAuthRequestTokenTask.java:55)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at com.ecs.android.sample.twitter.OAuthRequestTokenTask.doInBackground(OAuthRequestTokenTask.java:1)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at android.os.AsyncTask$2.call(AsyncTask.java:185)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
11-29 11:56:56.249: E/com.ecs.android.sample.twitter.OAuthRequestTokenTask(3081): at java.lang.Thread.run(Thread.java:1096)
当我点击推特按钮时,它给我显示黑屏,而不是带我进入推特的登录界面。哎呀,我快要疯了...已经尝试了两天! :( 请帮帮我。