0

我是 OAuth 的新手,我正在开发一个需要它的 Android 应用程序,并且我正在使用路标库。

我相信我已经完成了所有工作,直到可以使用

String token = uri.getQueryParameter("oauth_token");

哪个正确返回但是下一行

String verifier = uri.getQueryParameter("oauth_verifier");

返回空值。我已经调试并检查了初始化为的uri

 Uri uri = this.getIntent().getData();

而且它似乎没有密钥“oauth_verifier”

当我尝试以下行时,验证程序为 null 会导致 OAuthExpectationFailedException

provider.retrieveAccessToken(consumer, verifier);

谁能帮我弄清楚为什么验证者为空我使用的是回调而不是OOB。

我在其他问题中看到过,并在回复中指导了这样的事情:

dat=myapp://twitter?oauth_token=tJpJHOOwoTGMwdvHyYbfX2tyHKOp0Y2kdRRZf3sM&
oauth_verifier=xc49oM8eVVmK46ZSLz2RMT2uqXn3SxrMxf5ZAMXaD2Y

我的类似,但没有 ouath_verifier 密钥。

这是我发送有效的初始意图并获得回报的地方

        String clientKey = "xxxxxxx";
        String clientSecret = "yyyyyyyyy";

        CommonsHttpOAuthConsumer  consumer = new CommonsHttpOAuthConsumer(clientKey,clientSecret);


        provider = new CommonsHttpOAuthProvider(URL_Request_Token,
                URL_Access_Token, 
                URL_Authorize";
        provider.setOAuth10a(true);


        try {
            String authUrl = provider.retrieveRequestToken(consumer,CALLBACK_URI.toString());

            String token = consumer.getToken(); 
            String secret = consumer.getTokenSecret();

            this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));
         }

任何帮助深表感谢

4

1 回答 1

1

我在开发 twitter 交互示例时遇到的一个问题是我忘记从 twitter 应用程序控制台设置回调 url。

在此处输入图像描述

如果您不这样做,您的应用程序将不会被重定向,因此它将无法获取验证者令牌。

促销模式开启

但是,如果你觉得特别勇敢,我最近一直在开发这个库PostManLib,我正在寻找 beta 测试人员。它应该在底层使用众所周知的 scribe 库来处理所有异步 oauth 交互。

促销模式关闭
于 2013-03-04T21:22:21.440 回答