【问题标题】:"error" : "MismatchSendedId" when trying to send a Web Push notification“错误”:尝试发送 Web 推送通知时出现“MismatchSenderId”
【发布时间】:2017-02-18 08:44:04
【问题描述】:

我正在关注这个guide 来了解网络推送的实现。我一直按照指南进行操作,直到在使用 curl 发送通知时遇到问题:

curl --header "Authorization: key=<PUBLIC_API_KEY>" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"<SUBSCRIPTION_ID>\"]}"

我用我的 Firebase 云消息传递密钥和在浏览器上接受通知时生成的订阅 ID 更改了 API 密钥和订阅 ID。

执行 curl 时仍然出现此错误:

{"multicast_id":8346257587601342490,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}

我发现此错误与 android 推送通知有关,但与网络推送无关,因此其他答案对我的问题没有用。

有人遇到过这个问题吗?我错过了什么?

【问题讨论】:

    标签: curl google-cloud-messaging firebase-cloud-messaging web-push progressive-web-apps


    【解决方案1】:

    我也遇到了同样的事情。即使重新检查了十几次,清单已正确写入和设置,并且 API_KEY 和registration_ids 是正确的。 但我现在注意到问题在于我没有复制整个 url 链接。 例如,如果您的端点 url 是: 端点:https://android.googleapis.com/gcm/send/c_hMYQ0IJEg:APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFhfbUMdwxAot

    那么 subsctionID 将为“c_hMYQ0IJEg:APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFhfbUMdwxAot”。

    我只使用了“APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFhfbUMdwxAot”中的最后一部分,我想这就是我收到错误的原因。

    【讨论】:

    • 就是这样!这是正确的答案,很高兴知道,因为示例表单 google 仅使用了最后一部分
    【解决方案2】:

    这意味着 Service Worker 安装与生成 API 密钥的 GCM 发件人不同的 GCM 发件人相关联。

    来自按钮troubleshooting

    • 确保您已创建并链接manifest.json
    • 检查您在manifest.json 中输入的gcm_sender_id 是否正确
    • 检查您输入的GCM API key 是否正确

    如果一切正确,您也可以在设置正确的gcm_sender_id后尝试退订和重新订阅。

    【讨论】:

    • 感谢 collimarco 的回复,问题是我已经检查了发件人 ID 和 API 密钥是否匹配,并且还在新服务器端口上使用了完全不同的项目发件人 ID 和 API 密钥确保最后一个配置没有剩下,您对这个问题还有什么建议吗?
    • @JorgeCuevas 在过去的几个月里,我为许多遇到该错误消息的用户提供了支持,并且错误始终是上面列出的错误 - 最后一个猜测:您是否尝试过使用 GCM 而不是 Firebase?
    猜你喜欢
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多