Google calendar api 共享日历acl.insert()现在需要用户手动通过电子邮件通知添加日历
为了使用户能够在Google Calendar中查看我们的日历,我们目前在自己的服务帐户上创建了一个日历,然后使用ACL与用户共享此日历 过去,新日历将自动出现在用户帐户的“其他日历”下。他们将收到来自谷歌的电子邮件通知,其中包含“我们已自动将此日历添加到您的谷歌日历帐户。您可以随时隐藏或完全删除此日历。” 然而,突然间日历并没有出现在他们的账户上。最后,我注意到通知电子邮件现在这样写道:“在将此日历添加到其他日历后,您可以随时隐藏或完全删除它。”通过链接“添加此日历。” 只有单击此链接后,日历才会显示在他们的帐户上 这是谷歌突然改变的政策吗?有没有办法避免这第二步 下面是一些示例代码。我们启用和验证的范围是“../auth/calendar”、“email”、“profile”、“openid”Google calendar api 共享日历acl.insert()现在需要用户手动通过电子邮件通知添加日历,google-calendar-api,Google Calendar Api,为了使用户能够在Google Calendar中查看我们的日历,我们目前在自己的服务帐户上创建了一个日历,然后使用ACL与用户共享此日历 过去,新日历将自动出现在用户帐户的“其他日历”下。他们将收到来自谷歌的电子邮件通知,其中包含“我们已自动将此日历添加到您的谷歌日历帐户。您可以随时隐藏或完全删除此日历。” 然而,突然间日历并没有出现在他们的账户上。最后,我注意到通知电子邮件现在这样写道:“在将此日历添加到其他日历后,您可以随时隐藏或完全删除它。”通过链接“添加此日历。” 只有单击此链接后,日历
不幸的是,对于你关于避免第二步的问题,没有什么可以做的。即使谷歌方面的政策发生了变化,你也无法改变任何事情,因为所有的日历API都托管在他们的服务器上 一个建议是实现一个应用程序,模拟点击
添加此日历
,这将使您的问题变得稍微容易一些
calendar = service.calendars().insert(body={
'description': description,
'summary': summary,
'timeZone': timezone,
}).execute()
service.acl().insert(
calendarId = calendar['id'],
body={
'role': 'reader',
'scope': {
'type': 'user',
'value': user_email,
}
}).execute()