Firebase POST请求报InvalidRegistration,如何获取正确的to参数值?
关于FCM推送通知中正确
to参数的获取问题 我已在NodeJS中成功实现Firebase推送通知功能,现需改用Rust通过API实现该功能,但请求失败。
我在Insomnia中发送的请求:
{ "data":{ "title":"New Text Message", "image":"https://firebase.google.com/images/social.png", "message":"Hello how are you?" }, "to":"iZFSbueRsSJZnjdahRDvZx" }
Headers:
- Content-Type: application/js
- Authorization: key=MY_SERVER_KEY
收到的响应:
{ "multicast_id": 2360015634720863373, "success": 0, "failure": 1, "canonical_ids": 0, "results": [ { "error": "InvalidRegistration" } ] }
NodeJS中获取的subscription信息:
{ endpoint: 'https://fcm.googleapis.com/fcm/send/eYZWiC4R_Ug:AP99A1bHgyU7jVOf7LEkcVQABVxbPKtFfSvl6jdzo4Xk1gp47xO2S9NaY8EtUvVAb3i2Ru09_iEAZjNpq-R_mY-PmT4Ys9VZ4_m2R49POHvSh6NUiKTe9ixkJYApkk4FpomS1cP8jxEf7', expirationTime: null, keys: { p256dh: 'BGsA9E_T_T_OqHndd7kR55fl-ul2mrhFQiOw9Wr5reGOJOfOXM1_X83X65pGBz01WY3QxGn9TC9zLGuKtH3-Rjk', auth: 'iZFSbueRsSJZnjdahRDvZx' } }
问题解决:
- 正确的
to参数来源:你当前使用的auth字段值是错误的,正确的to参数应为endpointURL中/send/之后的完整注册ID,即:eYZWiC4R_Ug:AP99A1bHgyU7jVOf7LEkcVQABVxbPKtFfSvl6jdzo4Xk1gp47xO2S9NaY8EtUvVAb3i2Ru09_iEAZjNpq-R_mY-PmT4Ys9VZ4_m2R49POHvSh6NUiKTe9ixkJYApkk4FpomS1cP8jxEf7 - 请求头修正:请求头里的
Content-Type需设置为application/json,而非application/js,该错误也可能导致请求处理异常。
内容的提问来源于stack exchange,提问作者O'Niel
相关产品推荐
相关产品推荐

