Можно ли получить доступ к API-интерфейсу Google Cloud Scheduler с помощью ключа API? - PullRequest
0 голосов
/ 17 апреля 2019

Возможно ли получить доступ к Google Cloud Scheduler API , используя ключ API ?

Метод: projects.locations.jobs.create https://cloud.google.com/scheduler/docs/reference/rest/v1/projects.locations.jobs/create

Я пытаюсь создать работу, используя curl:

curl -X POST \
  'https://cloudscheduler.googleapis.com/v1/projects/my-project/locations/nam5/jobs?key=[MyAwesomeAPIKey]' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "test-awesome-job",
    "description": "My first job",
    "schedule": "45 23 * * 6",
    "timeZone": "utc",
    "pubsubTarget": {
        "topicName": "projects/my-project/topics/topic-name",
        "attributes": {
            "name": "39ro"
        }
    }
}'

, но это приводит к 401 несанкционированному ответу:

"error": {
  "code": 401,
  "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
  "status": "UNAUTHENTICATED"
}

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

Я запутался, наблюдая за API-проводником, который предложил возможные учетные данные Ключ Google OAuth 2.0 или API и инструмент «Помоги мне выбрать» из учетных данных API Google Cloud (https://console.cloud.google.com/apis/credentials),, который, по-видимому, теперь сообщает о правильном решении:

For your situation you can use Application Default Credentials, 
which provide a simple way to access Google APIs from App Engine or Compute Engine.

ранее он показывал ключи API как возможную опцию.

Спасибо @ Грейсайд за указание на меня!

0 голосов
/ 13 мая 2019

В Cloud Scheduler API используются учетные данные учетной записи службы, как описано в https://cloud.google.com/docs/authentication/production.. В качестве состояния документов API ограниченное число служб GCP поддерживает ключи API и не включает Cloud Scheduler.

Если вы запускаете код для взаимодействия с API-интерфейсом Cloud Scheduler в App Engine, Cloud Functions или Cloud Run, учетная запись службы встроена, и все, что вам нужно сделать, это предоставить этой учетной записи разрешение на взаимодействие с Cloud Scheduler. через IAM.

Документы содержат более упорядоченную информацию о настройке с помощью клиентских библиотек Cloud Scheduler .

...