Firebase 云消息传递 InvalidRegistration for Topic Messages

Al *_*Wld 2 python firebase google-cloud-messaging firebase-cloud-messaging

我在使用 Firebase 发送主题下游消息时遇到问题。当我使用令牌发送给单个或多个用户时,一切正常,我的代码如下所示

notif = {
    'to': 'TOKEN',
    'data': {'msg': 'whatever'},
}
opener = urllib2.build_opener()
data = json.dumps(notif)
req = urllib2.Request(
    FCM_URL,
    data=data,
    headers={
        'Content-Type': 'application/json',
        'Authorization': 'key=' + API_KEY,
    }
)
response = opener.open(req)
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用主题替换收件人,则代码更准确地说

notif = {
    'to': '/topic/MY_TOPIC',
    'data': {'msg': 'whatever'},
}
opener = urllib2.build_opener()
data = json.dumps(notif)
req = urllib2.Request(
    FCM_URL,
    data=data,
    headers={
        'Content-Type': 'application/json',
        'Authorization': 'key=' + API_KEY,
    }
)
response = opener.open(req)
Run Code Online (Sandbox Code Playgroud)

{"multicast_id":id,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}

有什么我想念的吗?我应该概述从 firebase 控制台发送主题消息工作正常。

任何帮助都非常受欢迎,最好的,谢谢!亚历克斯

Al *_*Wld 8

啊好傻…

我在主题中缺少s,因此正确的形式是

notif = {
'to': '/topics/MY_TOPIC',
'data': {'msg': 'whatever'},
}
Run Code Online (Sandbox Code Playgroud)

希望它无论如何都能帮助某人!

最好的,一个

  • 开头的`/`也很重要 (2认同)