Ошибка учетной записи службы Google Calendar API - PullRequest
0 голосов
/ 19 марта 2020

Я получаю эту ошибку

{ "error": 
     { "errors": 
         [
            { "domain": "calendar", "reason": "forbiddenForServiceAccounts", "message": "Service accounts cannot invite attendees without Domain-Wide Delegation of Authority." } 
         ], 
         "code": 403,
         "message": "Service accounts cannot invite attendees without Domain-Wide Delegation of Authority."
      } 
}

Уже следовал этому https://developers.google.com/admin-sdk/directory/v1/guides/delegation

Я использую эту библиотеку и запускаю ее на laravel 5.7: https://github.com/spatie/laravel-google-calendar

Что может быть исправлено для этого. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 10 апреля 2020

Цель предоставления учетной записи службы всего домена состоит в том, чтобы эти учетные записи имели возможность доступа к данным от имени пользователей в домене.

Если вы предоставите ему домен В целом, но не «олицетворяют» какую-либо учетную запись, учетная запись службы действует так, как если бы вы не предоставили эти полномочия: она пытается получить доступ к своим собственным календарям.

Когда учетная запись службы олицетворяет другого пользователя в домен (то есть, когда он действует от имени пользователя), учетная запись службы может получать доступ к ресурсам, к которым этот пользователь может получить доступ.

Чтобы выдать себя за другого пользователя, необходимо указать адрес электронной почты пользователя. В моем случае я использую библиотеку Node.JS, и мой код олицетворения выглядит следующим образом:

const auth = new google.auth.JWT(
  config.client_email,
  null,
  config.private_key,
  ["https://www.googleapis.com/auth/calendar.events"],
  "!!! user email to impersonate !!!!",
);

Более того, если вам нужно заполнить массив чел. [], Вам необходимо авторизовать учетную запись службы для Отправить электронную почту. Потому что вы получаете неавторизованную ошибку.

Чтобы сделать это, вам нужно добавить область https://www.googleapis.com/auth/gmail.send в административную консоль вашего домена G Suite.

Вы можете найти больше здесь: https://issuetracker.google.com/issues/14170493

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