我试图使用向我的应用程序发送推送:
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'发布于 2018-11-07 23:06:28
关于身体的第一个问题:
body:eyJ0byI6Ii90b3BpY3MvYWxsnByaW9yaXR5IjoRGV2aWNlcyIsIiaGlnaCIsImRhdGEiOnsic3VjY2VzcyI6Im9rIn19 <--这太奇怪了
的base64编码。
{“to\”:\\“主题/所有设备”,\“优先级\”:\“低\\”,\“数据\”:{\“成功”:\\“确定”}
谷歌正在接受你的--message-body,并用base64编码它。
下一个是关于头问题。你的“头”里有几个错误。
-headers=“授权: key=AUTHKEY”
您在AUTHKEY之后遗漏了一个引号。我假设这个问题只是编辑错误,造成了问题。(请注意,我不知道如何在此响应中包含小于和大于字符)。
但是,--headers的语法是错误的。--headers期望的是KEY=VALUE,而不是KEY:VALUE。在本例中,KEY是Authorization,VALUE是key=AUTHKEY。
--headers="Authorization=key=AUTHKEY"https://stackoverflow.com/questions/53197551
复制相似问题