Firebase Rest api用于远程配置

时间:2017-04-09 09:03:07

标签: python firebase firebase-remote-config

尝试找到服务器到服务器(最好是在python中), 连接Firebase远程配置。

操作:查看和编辑。

找到了this有用的点子,

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

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

3 个答案:

答案 0 :(得分:2)

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

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

我之前的回答是低调的。

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

另见:Firebase Remote Config feature for web app (after Firebase expansion)

答案 1 :(得分:2)

Firebase现在提供Remote Config REST API

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

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

  1. 在Firebase控制台中,打开设置> Service Accounts 即可。
  2. 点击生成新私钥,然后点击生成密钥
  3. 安全存储包含密钥的JSON文件
  4. 使用Google API Client Library

    在服务器上检索令牌
    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
    

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

答案 2 :(得分:1)

好消息!现在可以使用REST API与远程配置服务进行通信。

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