Сообщение об ошибке означает, что вы используете учетные данные пользователя вместо учетных данных учетной записи службы.
При подключении к Google Cloud Shell вы используете учетные данные пользователя учетных записей Google. Это учетные данные, которые вы использовали для входа в консоль Google Cloud. Когда вы запускаете приложение в Google Cloud Shell, ваше приложение использует эти учетные данные, если вы явно не укажете другие учетные данные.
Решение заключается в создании служебной учетной записи в консоли Google Cloud. Затем в вашей программе используйте учетную запись службы для учетных данных для вашего приложения.
Учетные записи службы Google Cloud
Если вы не укажете учетные данные приложения, библиотеки клиента Google будут использовать метод поиска учетных данных, который называется AD C (учетные данные приложения по умолчанию). Я написал статью, которая может помочь вам понять AD C:
Учетные данные по умолчанию для облачного приложения Google
Самый простой способ для вас - создать переменную среды GOOGLE_APPLICATION_CREDENTIALS
указывать на полный путь к учетной записи службы перед запуском приложения. Измените путь ниже, чтобы указать, где учетная запись службы хранится в Cloud Shell. Сначала вам потребуется создать учетную запись службы, загрузить ее и затем загрузить в Cloud Shell.
export GOOGLE_APPLICATION_CREDENTIALS="$HOME/service-account.json"
Управление файлами с помощью Cloud Shell
Эта ссылка предоставит более подробную информацию. информация о том, как писать приложения, использующие учетные записи служб.
Настройка проверки подлинности для серверных производственных приложений