有人可以解释如何使用Python / Django
向Payload for Chrome发送通知我这样做 -
fcm_url = "https://fcm.googleapis.com/fcm/send"
encoded = WebPusher(subscription_info).encode(json.dumps(data))
crypto_key = "dh=" + encoded["crypto_key"]
salt = "salt=" + encoded['salt']
headers = {'Authorization': 'key=' + gcm_key, 'Content-Type': 'application/json', }
headers.update({'crypto-key': crypto_key, 'content-encoding': 'aesgcm', 'encryption': salt})
fcm_data = {"raw_data":base64.b64encode(encoded.get('body')), "registration_ids": ['eYXdX1V94XY:APA91bHPQdnlQiVwe5HmWnRQrtpOnHzAJ4kEHNgB8GrEZ_YxSgtwz-0gvcpUFBAb3_eVXOVcJAjvVotGfKl9jLGM_X6nZb76YzFBZazMu1auIDAXhXjUgFDHm7E2ffRpBD70rpD1qC1r']}
resp = requests.post(fcm_url,data=json.dumps(fcm_data),headers=headers)
输出: -
{"multicast_id":6483153199368608385,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1481362362576359%958b01adf9fd7ecd"}]}
但通知不包含上述指定的数据。
答案 0 :(得分:1)
您似乎正在混合Web推送协议和Firebase云消息传递API。
您是要尝试向普通的开放式网络PushSubscription发送请求,还是尝试发送到Firebase令牌?
如果您使用适用于Web的Firebase Messaging SDK,则无需加密有效负载(这是使用firebase消息传递SDK的主要原因之一)。
如果您只使用普通的开放式网络API而未触及Firebase Messaging SDK,我会查看:https://github.com/web-push-libs/pywebpush