OAuth令牌适用于userInfo,但不适用于Google日历

时间:2012-07-16 13:48:00

标签: calendar oauth-2.0

有人可以告诉我为什么我不能使用相同的令牌从Google检索userInfo和日历列表?

我设置了正确的范围(我认为):

  private static final String PLUS_ME_SCOPE = "https://www.googleapis.com/auth/plus.me";
  private static final String USER_INFO_PROFILE_SCOPE = "https://www.googleapis.com/auth/userinfo.profile";
  private static final String USER_INFO_EMAIL_SCOPE = "https://www.googleapis.com/auth/userinfo.email";
  private static final String GOOGLE_CALENDAR_SCOPE = "https://www.googleapis.com/auth/calendar";

要获取用户信息,请使用此网址:https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=,对于我使用的日历:https://www.googleapis.com/calendar/v3/users/me/calendarList?minAccessRole=writer&key=

在用户信息中,我获得了所有正确的信息但是对于日历,我得到错误401:需要登录。

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

更改

  

https://www.googleapis.com/calendar/v3/users/me/calendarList?minAccessRole=writer&key=

  

https://www.googleapis.com/calendar/v3/users/me/calendarList?minAccessRole=writer&access_token=

就这么简单;)

<强>更新

另请注意,不推荐指定access token as a query parameter

  

由于与URI方法相关的安全漏洞(参见第5节),包括将记录包含访问令牌的URL的可能性很高,因此除非无法在其中传输访问令牌,否则不应使用它。 “授权”请求标头字段或HTTP请求实体。