Google 日历 API - 插入期间未发出邀请 + 活动在非 gmail 帐户中不可见
Google Calendar API - no invites sent out during insert + event not visible in non-gmail-account
我目前正在从 google-calendar-api (api reference) 中实现插入功能,但在成功创建事件后,它从未出现在非gmail 帐户(例如 ...@icloud.com)。使用 api-explorer 进行测试时也是如此。它只会默默地出现在 gmail 帐户中。
我已将 sendNotifications
设置为 true
,将 sendUpdates
设置为 all
。没有发出邀请,是的,我已经检查了垃圾邮件目录。我已经在这个问题上坐了几天了,这让我很困惑,这是行不通的。该服务目前无法使用,因为我无法使用非 Gmail 地址添加与会者。
我一直在关注文档,尝试了 api-explorer,还测试了 node.js-library 以及普通的 http-requests。
如前所述,invite/non-gmail-accounts 甚至无法与 api-explorer 一起使用。如何修复此错误?
编辑 1:
Typescript中调用对应api的函数。 oAuth2Client
正确初始化。 googleapis
是版本 48.0.0
。开始和结束时间是格式正确的字符串,因为事件创建成功但没有通知。
export async function createGoogleCalendarEntry(
uid: string,
props: CreateGoogleCalendarEntryProps,
context: CallableContext
): Promise<CreateCalendarEntryRes<CreateGoogleCalendarEntryRes>> {
const { title, start, end, attendees, desc } = props;
const oAuth2Client = await getAuthnAuthzGcpOAuth2ClientFromCallableContext(uid, context, c => c.gcp!);
return google
.calendar({ version: "v3", auth: oAuth2Client })
.events.insert({
calendarId: "primary",
sendUpdates: "all",
sendNotifications: true,
requestBody: {
summary: title,
description: desc,
start: { dateTime: start },
end: { dateTime: end },
attendees: attendees.map(a => ({ email: a.mail }))
}
})
.then(res => ({
provider: "google",
externalCalId: res.data.id!,
meta: res.data as CreateGoogleCalendarEntryRes
}));
}
这似乎是一个错误!
我使用 Calendars: Events.insert
Try this API 功能对此进行了测试并且能够复制它,所以我查看了 Google 的问题跟踪器并且已经有一份报告详细介绍了同类行为:
Google 似乎知道这个问题,但如果它导致问题,你可以提交你自己的错误 here。
您还可以点击上述页面左上角问题编号旁边的 ☆,让 Google 知道更多人遇到此问题,因此更有可能更快地看到它。
我目前正在从 google-calendar-api (api reference) 中实现插入功能,但在成功创建事件后,它从未出现在非gmail 帐户(例如 ...@icloud.com)。使用 api-explorer 进行测试时也是如此。它只会默默地出现在 gmail 帐户中。
我已将 sendNotifications
设置为 true
,将 sendUpdates
设置为 all
。没有发出邀请,是的,我已经检查了垃圾邮件目录。我已经在这个问题上坐了几天了,这让我很困惑,这是行不通的。该服务目前无法使用,因为我无法使用非 Gmail 地址添加与会者。
我一直在关注文档,尝试了 api-explorer,还测试了 node.js-library 以及普通的 http-requests。
如前所述,invite/non-gmail-accounts 甚至无法与 api-explorer 一起使用。如何修复此错误?
编辑 1:
Typescript中调用对应api的函数。 oAuth2Client
正确初始化。 googleapis
是版本 48.0.0
。开始和结束时间是格式正确的字符串,因为事件创建成功但没有通知。
export async function createGoogleCalendarEntry(
uid: string,
props: CreateGoogleCalendarEntryProps,
context: CallableContext
): Promise<CreateCalendarEntryRes<CreateGoogleCalendarEntryRes>> {
const { title, start, end, attendees, desc } = props;
const oAuth2Client = await getAuthnAuthzGcpOAuth2ClientFromCallableContext(uid, context, c => c.gcp!);
return google
.calendar({ version: "v3", auth: oAuth2Client })
.events.insert({
calendarId: "primary",
sendUpdates: "all",
sendNotifications: true,
requestBody: {
summary: title,
description: desc,
start: { dateTime: start },
end: { dateTime: end },
attendees: attendees.map(a => ({ email: a.mail }))
}
})
.then(res => ({
provider: "google",
externalCalId: res.data.id!,
meta: res.data as CreateGoogleCalendarEntryRes
}));
}
这似乎是一个错误!
我使用 Calendars: Events.insert
Try this API 功能对此进行了测试并且能够复制它,所以我查看了 Google 的问题跟踪器并且已经有一份报告详细介绍了同类行为:
Google 似乎知道这个问题,但如果它导致问题,你可以提交你自己的错误 here。
您还可以点击上述页面左上角问题编号旁边的 ☆,让 Google 知道更多人遇到此问题,因此更有可能更快地看到它。