API Календаря Google - приглашения не отправляются во время вставки + событие не видно в не-gmail-аккаунте - PullRequest
2 голосов
/ 18 апреля 2020

В настоящее время я реализую функцию вставки из google-calendar-api ( ссылка на API ), но после успешного создания события оно никогда не отображается в не-gmail-аккаунтах (например,. .. @ icloud.com). Это также верно при тестировании с помощью API-интерфейса. Это только тихо появляется в gmail-аккаунтах.

Я установил sendNotifications на true и sendUpdates на all. Приглашение не отправлено, и да, я проверил каталог спама. Я сижу над этой проблемой уже несколько дней, и меня просто поражает, что это не работает. Служба в настоящее время непригодна для использования , так как я не могу добавлять участников с не-gmail-адресами.

Я следил за документацией, пробовал api-explorer, а также тестировал node.js -библиотека, а также обычные http-запросы.

Как уже говорилось, приглашение / не-gmail-аккаунты даже не будет работать с API-интерфейсом. Как можно исправить эту ошибку?


Редактировать 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
    }));
}

1 Ответ

1 голос
/ 20 апреля 2020

Похоже, это ошибка!

Я проверил это с помощью Calendars: Events.insert Попробуйте эту функцию API и смог повторить это, поэтому я посмотрел на проблему Google Трекер и уже есть отчет, который детализирует такой же тип поведения:

Похоже, Google знает об этой проблеме, но если она вызывает проблемы, вы можете сообщить о ней &template=824103" rel="nofollow noreferrer"> здесь .

Вы также можете нажать ☆ рядом с номером проблемы в левом верхнем углу на вышеупомянутых страницах, что позволяет Google знать, что с этим сталкивается больше людей, и поэтому вероятность того, что его увидят быстрее, будет выше.

Я надеюсь, что это полезно для вас!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...