1

试图找到一个服务器到服务器(最好在 python 中),以连接 Firebase 远程配置。

操作:查看和编辑。

发现了这个有用的点子,

它包含身份验证、数据库和存储,但不包含远程配置。

我可以将我自己的添加到 pip 但我没有找到任何记录其余 api 的内容Remote Config

4

3 回答 3

9

Firebase 现在提供了远程配置 REST API

要使用此 API,您必须首先在Google APIs Console上启用它。选择您的项目,然后单击“启用”按钮。

然后你需要一个访问令牌来授权 API 请求。您可以通过 3 个步骤获取令牌:

  1. 在 Firebase 控制台中,打开Settings > Service Accounts
  2. 单击Generate New Private Key,然后单击 Generate Key
  3. 安全地存储包含密钥的 JSON 文件

使用Google API 客户端库在您的服务器上检索令牌:

def _get_access_token():
  """Retrieve a valid access token that can be used to authorize requests.

  :return: Access token.
  """

   var SCOPES = [
   "https://www.googleapis.com/auth/firebase.remoteconfig"
 ];

  credentials = ServiceAccountCredentials.from_json_keyfile_name(
      'service-account.json', SCOPES)
  access_token_info = credentials.get_access_token()
  return access_token_info.access_token

查看当前配置

您现在可以使用 API 查看当前的远程配置设置。您可以使用以下命令执行此操作:

curl --compressed -i -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -o filename.json

只需替换my-project-id为您的 Firebase 项目的 ID。您当前的远程配置设置将以 JSON 格式返回:

{
  "parameters": [{
    "key": "someKey",
    "value_options": [{
      "value": "Some value here"
    }]
   }, {
    "key": "otherKey",
    "value_options": [{
      "value": "someOtherValueHere"
    }]
  }]
}

编辑当前配置

获取 JSON 文件后,您可以对其进行编辑以更改配置,然后使用以下命令将其重新发送到 Firebase:

curl --compressed -i -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -d @filename.json

(再次替换my-project-id为您当前的 Firebase 项目 ID)

于 2018-03-13T17:53:03.313 回答
3

更新 (2018-03-13):正如 Rosário 所指出的,现在有一个 REST API 允许您读取和编辑配置。

仍然没有与 iOS 和 Android 客户端类似的 Web 客户端 API。

我之前的答案在首屏下方。


目前没有公共 REST API 可以连接到 Firebase 远程配置。

另请参阅:Web 应用程序的 Firebase 远程配置功能(Firebase 扩展后)

于 2017-04-09T14:47:34.253 回答
2

好消息!现在有一个REST API可供您与远程配置服务进行通信。

您可以使用它来创建自己的自定义前端来管理远程配置值,从其他地方导入远程配置值,或者添加支持以通过服务器到服务器通信等方式动态更改远程配置值。试试看!

于 2018-03-13T18:19:24.337 回答