通过服务帐户创建 Google 日历活动时收到“未知发件人”通知
const auth = new GoogleAuth({
scopes: [
'https://www.googleapis.com/auth/calendar',
'https://www.googleapis.com/auth/calendar.events'
],
keyFile: './src/serviceaccount.json',
clientOptions: {
subject: '[email protected]'
}
});
const calendar = google.calendar({ version: 'v3', auth: auth });
const apiResponse = await calendar.events.insert({
calendarId: "[email protected]",
conferenceDataVersion: 1,
requestBody: {
start: {
dateTime: "2024-10-10T08:00:00+09:00",
},
end: {
dateTime: "2024-10-10T08:30:00+09:00",
},
attendees: [{ email: "[email protected]" }, { email: "[email protected]" }],
summary: 'Test Event',
description: 'Test Event created',
guestsCanInviteOthers: true,
conferenceData: {
createRequest: {
requestId: randomUUID(),
conferenceSolutionKey: {
type: 'hangoutsMeet'
}
}
},
reminders: {
useDefault: false,
overrides: [],
},
guestsCanModify: true,
visibility: 'default',
}
});
我正在使用上面的代码通过谷歌服务帐户使用谷歌日历API创建日历事件。 sendUpdates参数是false,这样我就不会通过谷歌收到任何有关事件创建的通知。但是当我尝试这个只是第一次我从谷歌收到以下通知,我需要抑制/禁用它,我需要帮助来解决这个问题。
截图:
就像我在评论中所说的那样,当您的服务帐户和消费者帐户(gmail.com)没有任何交互时,这是预期的行为。我已经复制了从我的服务帐户向我的
Event Invitation
帐户发送 @gmail.com
的问题。
这是上述问题的图片:
澄清一下,这两个帐户根本没有任何交互。您收到该通知的原因是因为
@gmail.com
用户的 Google 日历设置中启用的当前选项可能设置为 Only if the sender is known
。
为了避免出现错误,只需将其更改为
From everyone
,以便 All invitations are automatically added to your calendar
更改设置后,如果您发送另一个日历事件,则应该是这样的。
Only is the sender is known
更新为 From everyone
gmail.com
的 calendar.google.com 并在设置中找到此内容: