2013-02-28 127 views
0

我已经在Twitter开发人员网站上注册了我的应用程序,并获得了一些OAuth凭证(消费者密钥,消费者密钥,请求令牌URL等)。我已将回调网址留为空白。 IOS和Android.Without回调URL的应用程序工作在IOS但android.When不工作我已经试过Android应用程序中的Twitter集成

requestToken = twitter 
        .getOAuthRequestToken(Constants.TWITTER_CALLBACK_URL); 

我得到的异常,因为

10月2日至28日:52:27.337:W /System.err(666):401:身份验证凭据 (https://dev.twitter.com/pages/auth)丢失或不正确。确保 您已设置有效的使用者密钥/密码,访问令牌/密码,并且系统时钟同步 。 02-28 10:52:27.337:W/System.err(666): 02-28 10:52:27.337: W/System.err(666):02-28 10:52:27.337:W/System .ERR(666):
/OAuth的/ request_token 10月2日至28日:52:27.337: W/System.err的(666):桌面应用程序仅支持 oauth_callback值 'OOB'

然后我已经尝试没有回调URL

requestToken = twitter 
        .getOAuthRequestToken(); 

当我试图登录我被重定向到一个页面(仍然在网络活动中)向我祝贺,我已授予我应用程序访问我的Twitter帐户,并给我一个针脚输入需要的地方,而不是重定向到我的应用程序。

如何在Android中不使用回调网址的情况下登录到twitter? 在此先感谢。

+0

public static final String CALLBACK_URL =“twitterapp:// connect”;你有没有试过这个......? – 2013-02-28 06:36:49

+0

@AshishJani而不是Constants.TWITTER_CALLBACK_URL?我没有提供回调URL,而registration.so我总是得到异常401:验证信用卡丢失 – user1767260 2013-02-28 06:44:12

+0

我已经使用CALLBACK_URL =“twitterapp:// connect”;它对我来说很好,你可以在你的TWITTER_CALLBACK_URL中尝试一下 – 2013-02-28 07:02:37

回答

0
  1. 创建您自己的WebViewClient子类。

2.Override shouldOverrideUrlLoading(WebView view,String url)方法。

3.在shouldOverrideUrlLoading()中,检查url.startsWith(YOUR_CALLBACK_URL)是否为true。

4.如果为true,从URL中检索“oauth_verifier”参数并返回true(true从shouldOverrideUrlLoading()阻止WebView实例加载URL)。

获取使用中得到的参数值的访问令牌4. 您的应用程序步骤4

如果上述步骤听起来麻烦,尝试TwitterOAuthView后可以得到控制从web视图实例回来。它的使用非常简单。请致电

view.start(CONSUMER_KEY,CONSUMER_SECRET,CALLBACK_URL,true,listener); 并通过如下定义的TwitterOAuthView.Listener接口接收结果。

void onSuccess(TwitterOAuthView视图,AccessToken accessToken); void onFailure(TwitterOAuthView视图,TwitterOAuthView.Result结果); 如果将TwitterOAuthView.start()方法设为true作为第四个参数,则TwitterOAuthView不会访问回调URL,并且我认为这是您想要实现的行为。源代码TwitterOAuthView.java可能有帮助。

+0

但是我没有在注册时提供回调URL。那么如何使用回调URL来检查? – user1767260 2013-02-28 06:49:20

+0

看到只是尝试CALLBACK_URL =“twitterapp://连接”它的工作。否则请创建新的凭证并设置回拨URL。 – AndroidEnthusiastic 2013-02-28 08:41:44

+0

我试图 \t \t \t \t requestToken =叽叽喳喳 \t \t \t \t \t \t .getOAuthRequestToken(Constants.TWITTER_CALLBACK_URL);公共静态最终字符串TWITTER_CALLBACK_URL =“twitterapp:// connect”;并得到异常02-28 15:44:56.757:W/System.err(1599):401:身份验证凭据(https://dev.twitter.com/pages/auth)丢失或不正确。确保您已设置有效的使用者密钥/密码,访问令牌/密码,并且系统时钟同步。 – user1767260 2013-02-28 10:16:32