Устранение неполадок: ошибка API вставки календаря Google «Недостаточное разрешение: запрос имел недостаточные области аутентификации»

#google-api #google-api-client

#google-api #google-api-client

Вопрос:

Для тестирования нашего приложения мне нужно вставить / обновить события календаря Google и проверить крайние случаи, например, если приглашение на собрание составляет> 30 дней, оно не должно показываться конечному пользователю. Я выполняю эту настройку для одного идентификатора gmail testaccount@.com и пытается манипулировать событиями, чтобы охватить все крайние случаи.

Перейдя по этой ссылке — https://developers.google.com/calendar/v3/reference/events/insert

1) Я создал новый проект https://console.cloud.google.com .

2) Включен API календаря Google

3) Настройте клиент OAuth для credentials.json

4) Запустил python quick start, чтобы получить событие календаря 10 — для проверки правильности шага 3.

5) Теперь для вставки события добавлена следующая область на экране согласия https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

6) Восстановите учетные данные, чтобы у них была новая добавленная область для вставки события.

При запросе я получаю следующее сообщение об ошибке — HTTPError 403 https://www.googleapis.com/calendar/v3/calendars/primary/events?alt=json возвращено «Недостаточное разрешение: запрос имел недостаточные области проверки подлинности».

Я также пытался использовать идентификатор электронной почты вместо «primay» и снова получал ту же ошибку.

Ответ №1:

У меня была та же проблема (= сообщение об ошибке). Проверьте в верхней части демонстрационного программного обеспечения следующие строки:

 # If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/calendar.readonly']
 

и измените на

 # If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/calendar']
 

затем удалите свой токен.выберите файл,
затем повторно запустите свой скрипт.

Комментарии:

1. Для среды Windows удалите файл token.json

2. но что делать, если вам нужен calendar.readonly только для просмотра событий и вы не хотите пугать пользователя, предоставляя вам разрешение на запись / удаление, когда оно не понадобится? Как вы можете заставить .readonly работать, не обращаясь к этой ошибке?

Ответ №2:

Если все ваши учетные данные выполнены идеально. вы можете просто отредактировать строку, перейти к своему index.php или ваше имя файла, в котором вы сгенерировали get client и переопределите строку ниже

 $client->setScopes(Google_Service_Calendar::CALENDAR_READONLY);
 

Для

 $client->setScopes(Google_Service_Calendar::CALENDAR);
 

а также убедитесь, что у вас есть разрешение на создание событий.

Надеюсь, это поможет.

Ответ №3:

 $client->setScopes(Google_Service_Calendar::CALENDAR_READONLY);
 

Измените это на:

 $client->setScopes(Google_Service_Calendar::CALENDAR_EVENTS);