繁体   English   中英

使用服务帐户从谷歌日历 API 将共享日历插入我的列表时,访问角色出现问题

[英]Trouble with access role when inserting shared calendar to my list from google calendar API using service account

初始情况:

  • 在我的一个 python 应用程序中,我们使用一个服务帐户来调用 Google Calendar API。
  • 用户可以通过其正确的电子邮件地址与我的服务帐户共享他们的日历
  • 用户还将共享日历 ID 放在我的系统上
  • 在我的系统上,我有一个适当的日历 ID,具有来自与我的服务帐户共享日历的适当权限
  • 我正在尝试通过带有此端点的日历 Api 通过日历 ID 接受与我共享的日历https://developers.google.com/calendar/v3/reference/calendarList/insert?authuser=1
  • 我没有将 G-Suite 用于服务帐户

当前的问题:

  • 当我通过 API 接受共享日历时,它会返回带有外部日历数据的正确响应,但实际上并未将日历插入到我的列表中。 我认为这是通过响应accessRole=reader返回的访问角色,看起来我没有服务帐户的作者权限。

我正在使用oauth2clientgoogleapiclient库来验证我的服务帐户。

问题:

您正在与服务帐户共享一些日历,并且您无法在 UI 上看到这些日历。

回答:

与常规帐户不同,服务帐户没有日历 UI 如果您在常规帐户的 UI 上查找这些日历,您将找不到它们,因为服务帐户不是您。 但这并不意味着这些没有被共享。 查看哪些日历在服务帐户的 CalendarList 中的唯一方法是通过 API 列出它们(请参阅CalendarList: list )。

话虽如此,如果您的目的是能够在 UI 上看到共享的日历,则必须通过 API或直接通过 UI与常规(即用户)帐户共享它们。

进一步阅读:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM