通过服务帐户创建 Google 日历活动时收到“未知发件人”通知

问题描述 投票:0回答:1

通过服务帐户创建 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,这样我就不会通过谷歌收到任何有关事件创建的通知。但是当我尝试这个只是第一次我从谷歌收到以下通知,我需要抑制/禁用它,我需要帮助来解决这个问题。

截图:

Screenshot

node.js google-calendar-api email-notifications
1个回答
0
投票

更新日历设置以解决未知发件人通知问题

就像我在评论中所说的那样,当您的服务帐户和消费者帐户(gmail.com)没有任何交互时,这是预期的行为。我已经复制了从我的服务帐户向我的

Event Invitation
帐户发送
@gmail.com
的问题。

这是上述问题的图片:

Before

澄清一下,这两个帐户根本没有任何交互。您收到该通知的原因是因为

@gmail.com
用户的 Google 日历设置中启用的当前选项可能设置为
Only if the sender is known

为了避免出现错误,只需将其更改为

From everyone
,以便
All invitations are automatically added to your calendar
更改设置后,如果您发送另一个日历事件,则应该是这样的。

After

将帐户的日历设置从
Only is the sender is known
更新为
From everyone

  • 转至您的
    gmail.com
    的 calendar.google.com 并在设置中找到此内容:

Settings

Settings2

参考:

© www.soinside.com 2019 - 2024. All rights reserved.