如何查询firebase远程配置rest API



我正在尝试查询firebase以获取我的webapp的远程配置。出于性能原因,我想使用REST API,而不是官方SDK。

到目前为止,我已经试着跟随谷歌文档和这篇关于stackoverflow的文章。

目前,无论我尝试什么,我都有这样的回应:

curl -H "Authorization: Bearer {token}"  
"https://firebaseremoteconfig.googleapis.com/v1/projects/{my-project-name}/remoteConfig"
{
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED"
}
}

我不知道该怎么取回持有者代币。我尝试了我在IAM admin > API & Service > Credentials中能找到的所有价值,但没有成功。

谢谢你的帮助。

可以在不使用Google API客户端库的情况下授权对Firebase Remote Config API的调用,但不建议这样做。

正如使用服务帐户的Oauth 2.0授权中所解释的,"您的应用程序可以通过使用您语言的Google API客户端库,或者通过使用HTTP直接与Oauth 2.0系统交互来完成这些任务。然而,‘Oauth 2.0'身份验证交互的机制要求应用程序创建并加密签名JSON Web令牌(JWT(,而且很容易出现严重错误,从而严重影响应用程序的安全性。">

如果真的有必要避免使用Google API客户端库,那么还有其他第三方工具,如oauth2l。然而,谷歌并没有正式支持这个工具,它的功能也没有得到保证。

我只想强调--credentials参数作为选择服务帐户JSON文件的方法,cURL命令作为本用例的示例。

我建议您遵循文档,该文档列出了向Google API客户端库授权有问题的API所需的步骤。请记住,步骤生成的服务帐户JSON文件代表Firebase Admin SDK服务帐户的私钥,这是一个非常适合使用的服务帐户,但任何具有Firebase Remote Config角色"Firebase Remote Config-Admin"的服务帐户也可以使用。

我想强调的一个重要话题是,目前https://www.googleapis.com/auth/firebase.remoteconfig影响授权访问此API的典型过程的范围。您可以使用https://www.googleapis.com/auth/cloud-platform范围,这在REST API文档中作为一个替代方案提到。(如果您希望使用"oauth2l",则此解决方法适用。(

最新更新