Mar*_*cin 3 google-cloud-platform google-cloud-scheduler
我正在尝试使用 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\"}}"
Run Code Online (Sandbox Code Playgroud)
结果总是401 Unauthorized。发出命令后:
gcloud beta scheduler jobs describe PUSH
Run Code Online (Sandbox Code Playgroud)
我没有得到这些标头:
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'
Run Code Online (Sandbox Code Playgroud)
第一个问题关于身体:
body:eyJ0byI6Ii90b3BpY3MvYWxsnByaW9yaXR5IjoRGV2aWNlcyIsIiaGlnaCIsImRhdGEiOnsic3VjY2VzcyI6Im9rIn19 <--- 这很奇怪
这是base64编码
{\"到\":\"/topics/allDevices\",\"优先级\":\"低\",\"数据\":{\"成功\":\"确定\"}}
Google 正在获取您的信息--message-body并将其编码为base64.
接下来关于标题问题。您的“--headers”中有几个错误。
--headers="授权:密钥=AUTHKEY
您在 后面缺少引号AUTHKEY。我假设这个问题只是创建问题的编辑错误。(请注意,我无法弄清楚如何在此响应中包含小于和大于字符)。
但是, for 的语法--headers是错误的。所--headers料KEY=VALUE,并非如此KEY:VALUE。在此示例中,KEYisAuthorization和 the VALUEis key=AUTHKEY。
--headers="Authorization=key=AUTHKEY"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3117 次 |
| 最近记录: |