使用GCM发送消息时,我不断收到响应'MismatchSenderId'

gil*_*ilp 27 google-cloud-messaging

我正在使用GCM实现推送通知服务器.我发送的帖子请求包含我从Google API控制台获取的发件人ID(应用程序密钥),以及我从GCM服务获得的注册ID.

发布的JSON包含一个注册ID.我总是得到同样的回答:

{
  "multicast_id":8546528660791862014,
  "success":0,
  "failure":1,
  "canonical_ids":0,
  "results":[
    {
      "error":"MismatchSenderId"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?我究竟做错了什么?

Atu*_*waj 33

请从设备上卸载Android应用并再次运行该应用.

现在您将获得一个新的注册ID.这可能会解决您在特定情况下的MismatchSenderId问题(有时会发生这种情况:如果您更改/刷新API密钥,但仍使用旧的注册密钥).在我的情况下,我首先获得了我的设备的注册ID,然后我更改了我的API密钥(在Google GCM服务器上),然后我收到了MismatchSenderId错误.最后,我从设备上卸载了我的Android应用程序,问题解决了.

  • 很棒的答案+1来自我. (4认同)
  • 一旦我的ID完全正确,它仍然无法正常工作.这个解决方案对我有用.+1 (2认同)
  • 浪费了大约2个小时并在Google Apis上创建了一个新项目,这是我之前应该尝试过的解决方案.我从来没有想过这个,并且可能浪费了更多的时间来试图找出为什么我的GCM无法正常工作.有时谷歌缺乏指导和文档会让生活变得非常困难. (2认同)

Red*_*dth 23

请参阅Stack Overflow帖子为什么我从GCM服务器端获得"MismatchSenderId"?.

从上面的URL:

仔细检查发件人ID和API_KEY,它们必须匹配,否则您将得到MismatchSenderId错误.在Google API控制台中,查看项目的网址:

https://code.google.com/apis/console/#project:xxxxxxxxxxx

xxxxxxxxx是项目ID,即发件人ID.

有些人使用"Key for Server Apps"类型的密钥报告问题,但是使用Browser Key类型取得了成功.就个人而言,服务器密钥类型适用于我,但尝试两者,YMMV.

  • 您应该使用"项目编号"(即数字ID)作为发件人ID,而不是"项目ID". (4认同)

Nim*_*imo 8

登录Google Cloud Console

见附图中的例子:

在此输入图像描述


Pau*_*kis 5

您应该使用"项目编号"(即数字ID)作为发件人ID,而不是"项目ID"


归档时间:

查看次数:

57297 次

最近记录:

10 年 前