1

我正在使用gdata OAuth 控制器获取 OAuth 令牌,然后按照指示签署我的请求。

[auth authorizeRequest:myNSURLMutableRequest]

它适用于 GET 请求,但 POST 失败并出现 401 错误。我知道我不能对 OAuth 的魔力一无所知。

Google Reader API 需要 POST 正文中的参数。OAuth 要求将这些参数编码在签名中,就像它们在查询字符串中一样。gdata 库似乎没有这样做。我尝试以与处理查询字符串相同的方式破解它,但没有运气。

这很难调试,因为我得到的只是来自谷歌黑匣子的 401,我只能猜测。我真的很想使用 OAuth,所以我不必从我的用户那里收集登录凭据,但我将放弃它并使用更成熟的更简单的基于 cookie 的身份验证。关于它失败的原因,我可能完全错了。这是我最好的猜测。

有什么让 gdata 工作的建议,或者是一个替代的 iphone 友好的 OAuth 库吗?

4

1 回答 1

3

我走在正确的道路上。GData OAuth 类需要支持对 POST 参数进行签名,但我不知道需要对密钥进行不同的排序。

http://groups.google.com/group/gdata-objectivec-client/browse_thread/thread/adc4e2ba154fbc5f?hl=en

于 2010-05-24T23:34:00.900 回答