无法检索android中yahoo集成的请求令牌?

无法检索android中yahoo集成的请求令牌?,android,yahoo,signpost,Android,Yahoo,Signpost,我正在尝试将雅虎整合到我的应用程序中。我在努力 private static final String YAHOO_CALLBACK_URI = "MyApp://oauth"; public static final String YAHOO_REQUEST_TOKEN_URL = "http://api.login.yahoo.com/oauth/request_token";//api.login.yahoo.com public static final String YAHOO_ACC

我正在尝试将雅虎整合到我的应用程序中。我在努力

private static final String YAHOO_CALLBACK_URI = "MyApp://oauth";
public static final String YAHOO_REQUEST_TOKEN_URL = "http://api.login.yahoo.com/oauth/request_token";//api.login.yahoo.com
public static final String YAHOO_ACCESS_TOKEN_URL = "http://api.login.yahoo.com/oauth/access_token";
public static final String YAHOO_AUTHORIZE_URL = "http://api.login.yahoo.com/authorize";


CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(YAHOO_CONSUMER_KEY, YAHOO_CONSUMER_SERECT_KEY);
    OAuthProvider provider = new CommonsHttpOAuthProvider(YAHOO_REQUEST_TOKEN_URL, YAHOO_ACCESS_TOKEN_URL, YAHOO_AUTHORIZE_URL);
    provider.setOAuth10a(true);
    try {
        String authUrl = provider.retrieveRequestToken(consumer, YAHOO_CALLBACK_URI);// Can I pass Null for callback url.
        System.out.println("AuthURL = " + authUrl);
    } catch (OAuthMessageSignerException e) {
        e.printStackTrace();
    } catch (OAuthNotAuthorizedException e) {
        e.printStackTrace();
    } catch (OAuthExpectationFailedException e) {
        e.printStackTrace();
    } catch (OAuthCommunicationException e) {
        e.printStackTrace();
    }
得到

oauth.signpost.exception.OAuthCommunicationException:与服务提供商的通信失败:服务提供商响应错误:404(未找到)

我们无法检索请求令牌的原因

  • 确保您在Yahoo上的应用程序已注册为基于Web的应用程序。当您注册为基于Web的应用程序时,请提供您选择的有效应用程序URL和应用程序域(两者应为同一域),但其他人未使用过。一、 例如,有一个我自己的网站的url。这也将用作消费者中的回调url
  • 不要调用“MyApp://oauth”,而是提供一个有效的http回调url(与注册应用程序时使用的url相同)。有了这么多,上面的代码就可以工作了
  • 打开一个新的Webview并调用authUrl。一旦您的应用程序获得授权,通过覆盖“onPageStarted”方法拦截对您的应用程序url的调用。在那里,通过启动指向“MyApp://oauth”的新意图来回调您的应用程序

  • 如果以上任何一个步骤让您感到困惑,请告诉我-我非常乐意提供帮助。

    我遵循了上述3点,能够回拨应用程序。整个问题都是从YAHOO OAUTH进程开始的。现在Yahoo不接受自定义的回调url,它必须是一个有效的http url。N 有几个问题我自己解决,比如有一个CUSTOMi对话框,可以用来调用Web视图YAHOO Auth URL,类似于FB对话框


    谢谢你的

    嗨,我遇到了一个类似的错误,你解决了这个问题吗?@KC203没有,我仍在尝试同样的问题。。。被404错误卡住了…谢谢你的回复,我已经看过好几个论坛了,每个人似乎都有这个问题,我怀疑这是否也是可能的。不管怎样,如果你成功整合,一定要让我知道yahoo@Panache-据我所知,你不能给雅虎一个自定义的回调url方案-这意味着,您必须提供一个以http或https开头的回调URL,然后在WebView中拦截该调用。不过也就是说,我不再得到404,但仍然得到401,我不知道为什么!嗨,帕纳奇,我也想在我的应用程序,能够登录应用程序使用任何离开雅虎,谷歌加帐户。但我找不到任何方法,请建议我或张贴代码来帮助我整合。谢谢回复。我有一些问题,1。为什么我们必须注册为基于Web的应用程序,我们可以选择基于客户端的应用程序?2.我尝试了基于web的应用程序,但没有提到应用程序URL和应用程序域?请你发布一些相同的步骤。。。谢谢,先生。我已经编辑了我的答案,包括你需要提供的应用程序url和应用程序域。您可以提供基于桌面的,但在这种情况下,在身份验证之后,用户必须复制代码,并在验证完成后将其粘贴到应用程序中。如果希望无缝集成而无需任何拷贝粘贴,则需要遵循基于web的身份验证模型。如果你有任何问题,请告诉我。你能发布一些工作代码吗?这将有助于我工作。先生,停止使用404,因为授权失败(服务器回复为401)。如果使用者密钥不正确或签名不匹配,则可能发生这种情况。我的消费者密钥是正确的,那么为什么它会给出这个错误。先生,解决了。。。谢谢问题在于回调url。现在我正试图从雅虎获取用户信息。