得到";InvalidTokenFormat,错误400”;来自Firebase云消息


Getting "InvalidTokenFormat, Error 400" from Firebase Cloud Messaging

我使用Firebase Cloud Messaging进行android开发,PHP作为服务器端语言。现在,我可以:

  1. 使用Firebase控制台接收推送通知发送,无论是真实应用程序还是模拟器。

  2. 从终端(卷曲)测试时工作正常

因此,我尝试从apps server(使用php-ccurl)而不是Firebase Console发送。现在,每次我请求POST请求时,都会遇到这个奇怪的消息InvalidTokenFormat, Error 400。有什么想法吗?

以下是FirebaseApi的链接:FirebaseApiClass

请随意询问meif的任何输入,上面的用例不够清楚。谢谢

我的错误。url应该是(末尾没有斜杠):

https://fcm.googleapis.com/fcm/send

您需要从服务器向firebase发送请求,并附上通知的消息和用户的令牌,然后firebase将接受请求并以通知的形式向所有用户广播消息(我们提供的令牌)。

Firebase和设备采用轮询模式,因此只有Firebase可以在您的设备上发送通知,您可以使用该设备设置轮询,但谷歌不允许这样做,因为如果每个应用程序都开始使用该设备建立轮询隧道,这将占用大量资源。

您能将curl发送的原始请求发布到服务器吗?通常curl会提供打印输出,不确定php版本。

CURLOPT_POSTFIELDS不需要JSON。如果要发送application/x-www-form-urlencoded请求,请使用httpbuild_query($message),或者如果要发送多部分/form数据请求,请直接给它$message数组。