GOOGLE ADS

среда, 13 апреля 2022 г.

API Google Таблиц возвращает «У вызывающего абонента нет разрешения» при использовании ключа сервера

Я сгенерировал ключ сервера в диспетчере API и попытался выполнить на своем Mac следующее:

curl 'https://sheets.googleapis.com/v4/spreadsheets/MySheetID?ranges=A1:B5&key=TheServerKeyIGeneratedInAPIManager'

Но вот что он возвращает:

{
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}

Что я здесь делаю неправильно?


Решение проблемы

Чтобы решить эту проблему, попробуйте:

  • Создайте учетную запись службы: https://console.developers.google.com/iam-admin/serviceaccounts/

  • В опциях создайте ключ: это ваш обычный client_secret.json — используйте его так же

  • Назначьте роль владельца учетной записи службы (имя участника = идентификатор учетной записи службы = адрес электронной почты учетной записи службы, например: thomasapp@appname-201813.iam.gserviceaccount.com

  • Скопируйте адрес электронной почты вашей учетной записи службы = идентификатор учетной записи службы

  • Просто перейдите в браузере на лист Google, с которым вы хотите взаимодействовать.

  • Перейдите в ПОДЕЛИТЬСЯ в правом верхнем углу экрана.

  • Перейдите к дополнительным настройкам и поделитесь им с адресом электронной почты вашей учетной записи службы, например: thomasapp@appname-201813.iam.gserviceaccount.com.
  • Комментариев нет:

    Отправить комментарий

    Laravel Datatable addColumn returns ID of one record only

    Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...