Google Cloud Scheduler - HTTP-заголовки не соблюдаются
Я пытаюсь отправить push-сообщение в свое приложение с помощью Google Cloud Scheduler:
gcloud beta scheduler jobs create http PUSH --schedule="0 * * * *" --uri="https://fcm.googleapis.com/fcm/send" --description="desc" --headers="Authorization: key=<AUTHKEY> --http-method="POST" --message-body="{\"to\":\"/topics/allDevices\",\"priority\":\"low\",\"data\":{\"success\":\"ok\"}}"
Результат всегда 401 Несанкционированный. После выдачи команды:
gcloud beta scheduler jobs describe PUSH
Я не получаю эти заголовки обратно:
description: desc
httpTarget:
body: eyJ0byI6Ii90b3BpY3MvYWxsnByaW9yaXR5IjoRGV2aWNlcyIsIiaGlnaCIsImRhdGEiOnsic3VjY2VzcyI6Im9rIn19 <--- THIS IS WEIRD
headers:
Content-Type: application/octet-stream
User-Agent: Google-Cloud-Scheduler
httpMethod: POST
uri: https://fcm.googleapis.com/fcm/send
lastAttemptTime: '2018-11-07T20:32:37.657408Z'
name: projects/..../locations/europe-west1/jobs/PUSH
retryConfig:
maxBackoffDuration: 3600s
maxDoublings: 16
maxRetryDuration: 0s
minBackoffDuration: 5s
schedule: 0 * * * *
scheduleTime: '2018-11-07T21:00:00.681498Z'
state: ENABLED
status:
code: 16
timeZone: Etc/UTC
userUpdateTime: '2018-11-07T20:29:15Z'
1 ответ
Первый вопрос о теле:
тело:eyJ0byI6Ii90b3BpY3MvYWxsnByaW9yaXR5IjoRGV2aWNlcyIsIiaGlnaCIsImRhdGEiOnsic3VjY2VzcyI6Im9rIn19 <--- Это странно
Это кодировка base64
{\"К \":\"/ темы /allDevices\",\"приоритет \": \ "низкой \", \ "данных \":{\"Успех \": \ "ОК \"}}
Google берет ваш --message-body
и кодировать его в base64
,
Далее по поводу вопроса заголовка. У вас есть несколько ошибок в ваших "--headers".
--headers = "Авторизация: ключ =AUTHKEY
Вы пропустили кавычку после AUTHKEY
, Я предполагаю, что эта проблема - просто ошибка редактирования, создавая вопрос. (Обратите внимание, я не мог понять, как включить символы меньше и больше, чем в этот ответ).
Тем не менее, синтаксис для --headers
неправильно. --headers
надеется KEY=VALUE
не KEY:VALUE
, В этом примере KEY
является Authorization
и VALUE
является key=AUTHKEY
,
--headers="Authorization=key=AUTHKEY"