我想将 yahoo 集成到我的 android 应用程序中以获取 yahoo 联系人。我使用了 yahoo 联系人 API,它打开了一个 WebView 来登录。当我使用 ouath 程序和 ouath 签名方法 HMAC-SHA1 从雅虎导入联系人时。我遇到了“签名无效”的问题。
如果我使用签名方法“PLAINTEXT”,它在使用 yahoo 社交 API 期间的 oauth 身份验证期间工作正常,它会导致签名类型无效。关于这个问题的任何想法?
而且我想要一些其他方式,通过它我不需要向用户显示 webview 并且身份验证在后台进行。登录后,我必须登录用户的联系人。任何想法...???
===============================================
以下是我收到的请求和回复:
第一个请求:-
响应第一请求:-
oauth_token=kkdhque&oauth_token_secret=43afb117c8880535d40d91ab6eb1cd9cf070b6bb&oauth_expires_in=3600&xoauth_request_auth_url=https%3A%2F%2Fapi.login.yahoo.com%2Foauth%2Fv2%2Frequest_auth%3Foauth_token%3Dkkdhque&oauth_callback_confirmed=true
第二个请求,其中用户在 webview 中输入他的用户名和密码。
https://api.login.yahoo.com/oauth/v2/request_auth?oauth_token=k3qacet
用户验证此应用程序可以在 webview 中使用我的电子邮件地址的第三个请求。
这导致了oauth验证器。
webview 完成并且用户获取访问令牌或 (oauth_token) 的第四个请求
响应第四个请求:-
oauth_token=A%3DhX_2we7E7jDnmFyp_8sBq2jECdy3Qq3joNFqb6S70DcHwqh81q19r3KFvSljXFrjVjk3gw8UOkMcvs7sYNdZzbTDQhwYyPswES1HRhBv94wYFmCclOmXCL.XNOCgNQWkKbHha0puKPRnSY12tKASSPdmqYdynuw5c72sL6mb89Ord7hFmkn7mOqKeB5E0R.H1oM1vkxIc2_x3nhifZvHP1gHxG8rm3I2Qh4PsXl3sTeAOVp7xGjOVELdqjX4rxlvXwAHW8OHrZLniCiNNqtb9yhEDBGutFyos0gQikBZ3FQjS04Q0X6Vz53FwN58GWS6ok1IpppwYSaXVGxf6T3mtGZo90lNugbCAho5H9frYkV3dq9xM.LIiBdA3nPEJfef3ZCciNSYHtk_0_k3jSChDIiDuKwx4wwaHUSygZq0cOSWGV6iWdnc9qitu7xLLzzO5YDFStmkZK2ks144RLVookPqsPOHew.zovCcPup3oG3bOq4FKR9UAXaIfqtj6bMNauBpFiTmy8r9WIKJ5lKCJZux1oqCHECpSjhK98P2vTqVv08jU3.S15W6dPro9lwOVeMStacATvWE0wVumeOhg54.190zTvWxaCyNBSVKuKxlsOc8cDY6o_qhFtf.hiWLisVHKOpGkMhsdpECuaYaCSDGkNO8iEEcGE5nAS1VHbuxWl6TW1pRQxBUrDQWZiO.FPKAFQhz5gNjSbE14ygihPQVYYe_vJ0D.wdsOk4VY.aKovCe10vTl5N9t58ZhqJIH7pviYRuS8U- &oauth_token_secret=50f8b0c3742c653270f4ab171e344a6cb525eca5&oauth_expires_in=3600 &oauth_session_handle=AGgtEE.0Q98PruZjCCh2K9YIlCw_faQSJbrMRUeMzledZ.Tgqrg-&oauth_authorization_expires_in=820695219&xoauth_yahoo_guid=NNZ4BOGR43W5RY6LMEXJVUZYUE
第五次请求以获得我最终想要的用户的联系人列表。
第五次请求的响应
{ error: { lang: "en-US", description: "请提供有效凭据。OAuth oauth_problem="signature-invalid", realm="yahooapis.com"" } }