Ошибка аутентификации Google Cloud Pubsub из App Engine

У нас проблемы с публикацией сообщений в теме Google Cloud PubSub в Google AppEngine. Использование учетных данных приложения по умолчанию прекрасно работает локально. Но после развертывания в Google AppEngine выдает следующую ошибку:

<HttpError 403 when requesting https://pubsub.googleapis.com/v1/projects/our-project-id/topics/our-topic:publish?alt=json returned "The request cannot be identified with a project. Please pass a valid API key with the request.">

Я предполагаю, что он будет использовать служебную учетную запись ядра приложения для доступа к API PubSub. Вот код, который мы использовали для создания учетных данных.

credentials = GoogleCredentials.get_application_default()
if credentials.create_scoped_required():
   credentials = credentials.create_scoped(['https://www.googleapis.com/auth/pubsub'])

http = httplib2.Http()
credentials.authorize(http)
pubsub_service = build('pubsub', 'v1', http=http)

Ошибка выдается при публикации фактического сообщения в PubSub.

pubsub_service.projects().topics().publish(topic="projects/out-project-id/topics/out-topic", body = { 'messages' : [ { 'data': base64.b64encode(request.get_data()) }]}).execute()

Не то чтобы тот же поток работал, выполняя вызов API для "BigQuery", так что это не общая проблема Google API. Кажется, она специфична для PubSub ...

Ответы на вопрос(1)

Ваш ответ на вопрос