为了在PHP中使用HTTP V1 API
(不是遗留API),必须使用REST接口。
https://firebase.google.com/docs/cloud-messaging/send-message#top_of_page
我想知道如何获得Auth 2.0访问令牌?
https://firebase.google.com/docs/cloud-messaging/auth-server
由于PHP没有Google API Client Library
(参见上面链接中的示例),如何通过REST调用接收Auth 2.0令牌(无需显示PHP代码)?
相关问题:一旦收到这个短命的令牌,如何刷新这个令牌?2工作流程是什么?
多谢了!
2条答案
按热度按时间rsl1atfo1#
实际上有一种针对PHP的"Google Api客户端库",甚至有两种:
https://github.com/google/google-api-php-client
以及
https://github.com/GoogleCloudPlatform/google-cloud-php
一个提供对API的访问,而另一个不提供,因此值得查看哪个提供什么-您可能需要同时使用它们。
在https://github.com/google/google-api-php-client存储库的README中,您可以找到关于如何获取OAuth访问和刷新令牌的描述。
这两个库都在底层使用Guzzle,并提供了一种使用授权中间件来装饰您自己的Guzzle HTTP客户机的方法,这样您就不必这么做了。
因此,如果其中一个库不支持您想要访问的API,您可以应用下面代码片段中的代码,自己访问相关API(从Google Api PHP客户端-"Making HTTP requests directly"):
无耻插:我在https://github.com/kreait/firebase-php上维护一个单独的Admin SDK,用于访问与Firebase相关的API,它有一个FCM组件,文档如下:https://firebase-php.readthedocs.io/en/stable/cloud-messaging.html
du7egjpx2#
如果您想手动获得访问令牌,而不使用外部库,可以使用以下代码:它使用您的私钥创建一个JWT令牌,并请求一个承载者令牌。
响应包含3个字段:
access_token
、expires_in
和token_type
。