Android Google日历授权问题

问题描述 投票:0回答:1

我正在尝试创建一个使用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)。

android oauth calendar google-calendar-api
1个回答
2
投票

Authorization标头需要是“授权:OAuth oauth_nonce =”deadbeefdeadbeef“oauth_version =”1.0“....

http://code.google.com/apis/accounts/docs/OAuth_ref.html#RequestToken。据推测,您可以在查询字符串或POST正文中使用授权参数,但我没有尝试过。


As noted in the comments below, Google is now, at least with the Calendar feed, appending a 'gsessionid=' querystring and redirecting; and so a redirect handler must create a new nonce and timestamp, and make a new signature making sure to add the gsessionid to the base signature string in the correct lexicographical order (preceding any of the oauth_ variables).
© www.soinside.com 2019 - 2024. All rights reserved.