我正在尝试创建一个使用OAuth访问用户Google日历的应用。我有适当的代码来获取所有正确的令牌,并将它们保存到一些首选项中。顺便说一句,我使用教程here来做这一切。我已成功更改范围并请求URL,以便我获得所需的令牌。当我真正尝试使用令牌时,问题出现了。而不是日历信息,我得到一些HTML,上面写着“未知的授权标题错误401”。我使用的请求网址是:
https://www.google.com/calendar/feeds/default/allcalendars/full
范围是:
http://www.google.com/calendar/feeds/
我尝试用我的电子邮件地址(也就是我用于OAuth的地址)替换'default'无效。我使用的是错误的网址吗?如果没有,还有什么可能导致此错误?我一直在寻找几天找到使用OAuth访问日历的人,但我发现的一切都是让人放弃,因为它太难或不起作用。
编辑:
我相信我的标题是正确的,这是一个例子:
OAuth oauth_token="************-********-**********-****",
oauth_consumer_key="anonymous",
oauth_version="1.0",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1303161387",
oauth_nonce="*******************",
oauth_signature="*******************"
这是从我的应用程序直接拉出来的,从我能找到的它看起来对我来说,但我仍然得到上面的错误(未知的授权标题错误401)。
Authorization标头需要是“授权:OAuth oauth_nonce =”deadbeefdeadbeef“oauth_version =”1.0“....
见http://code.google.com/apis/accounts/docs/OAuth_ref.html#RequestToken。据推测,您可以在查询字符串或POST正文中使用授权参数,但我没有尝试过。