当前位置: 首页 > 知识库问答 >
问题:

如何从google-calendar中列出用户的日历,并使用oauth2三条腿的离线访问/刷新令牌

蓟浩旷
2023-03-14

简单得可笑的问题,我似乎找不到任何答案:

通过oauth2三条腿的身份验证,我有userId+accessToken+refreshToken来访问google用户的日历范围。

现在,我想列出该用户的所有日历。

google calendar api参考(https://developers.google.com/google-apps/calendar/v3/reference/)谈到了calendarList,听起来不错...但是...

https://www.googleapis.com/calendar/v3/users/me/calendarlist

这是三条腿的oauth,没有一个浏览器与cookie存储某种谷歌标识符为“我”工作。我需要指定用户ID,电子邮件帐户-一些东西来识别我想列出的日历的用户!

难道没有办法做这个最琐碎的基本用例吗?

这个问题(OAuth2/Google Caldav-List of calendars for user)是一个重复的问题,自我回答的评论链接描述了一个基于日历v2的解决方案,其中有一个叫做propfind和dav的东西,我对此一无所知。真的吗?不Rest?

tsk tsk谷歌。斯克。

共有1个答案

韩烈
2023-03-14

嗯,它真的像我想象的那样琐碎和愚蠢:access_token包含了用户信息······在authriization:Bearer标头中发送access_token就可以完成这个任务。

 类似资料:
  • 我正在使用谷歌日历(v3)API,与谷歌应用程序,并希望使用一个单一的oauth2凭据来确定用户在任何给定的点上空闲/忙碌。

  • 我试图使用VBScript和Oauth脱机访问谷歌日历API。我设法获得了一个刷新令牌和一个访问令牌,现在我想进入实际使用API的步骤,使用以下代码: 我得到的回应是: 即使访问令牌是有效的--如果我将sURL更改为https://www.googleapis.com/oauth2/v1/tokeninfo并运行该脚本,我将得到以下响应,显示一个有效的令牌: 如果我粘贴URL https://ww

  • 我的网站上有一个php应用程序,允许我的用户使用我的谷歌日历计划/重新安排日历事件,所以我不需要用户通过谷歌认证自己。我已经完成了获取令牌和存储刷新令牌的工作,但现在当我尝试访问日历时,我收到一个错误消息,说我的令牌已过期。输出为 创建客户端时发现访问令牌={“access_token”:“long…token…string”,“token_type”:“Bearer”,“expires_in”:

  • 目前,我正在使用https://developers.Google.com/Calendar/quickstart/php这个api,但是令牌在3-4小时后到期,如何自动刷新谷歌日历api的访问令牌 当前代码为:

  • 我正在使用Cognito用户池对系统中的用户进行身份验证。成功的身份验证将提供一个ID令牌(JWT)、一个访问令牌(JWT)和一个刷新令牌。这里的文档清楚地提到了刷新令牌可以用于刷新访问令牌,但没有提到如何使用。我的问题是,一旦我的访问令牌过期,我如何使用存储的刷新令牌再次刷新我的访问令牌? 我搜索了JavaScript SDK,但找不到任何方法来做同样的事情。我肯定错过了什么。 我还想通过Lam

  • 我曾经请求caldav服务器为给定用户提供所有定义的日历。这适用于Fruux/ownCloud(Sabre)和GCalendar(经典方法)。请求如下: 移动到Google OAuth2有不同的调用,ulrstr:类似https://apidata.googleusercontent.com/caldav/v2/{calid}/user的内容 这里的“calid”必须是一个特定的日历[1]iis说