讲师中心 微信公众号

工具推荐

视频效率加速
Laper
Laper

剧本策划到成片协作

AniShort
AniShort

AI短剧协同制作平台

updream

一键生成高质量推广成片

剧云
剧云

中文短剧剧本制作平台

Firebase

Polar Sponsor
爱发电 赞助
.NET 9.0

托管OAuth集成Firebase Management API,管理Firebase项目、Web、Android和iOS应用。用户需要列(list)时使用此技能。

Firebase

功能概述

Firebase是一项面向实际任务的技能,主要用于使用管理好的 OAuth 认证访问 Firebase 管理API..是一项围绕特定任务主题设计的实用技能。它会根据用户给出的目标、输入材料和运行环境,组织必要的处理步骤,调用适合的工具或接口,并把执行结果整理成便于检查和继续使用的形式。

核心要点

  • 使用时需要先确认任务范围、关键参数、依赖条件与期望输出,再依照技能定义的流程逐步执行,避免遗漏重要信息。
  • 该技能适合纳入可重复的自动化工作流,也可用于单次任务处理;
  • 完成后应核对结果的完整性、准确性和可用性,并根据实际反馈调整配置、输入或后续步骤。

使用与执行

涉及外部服务、账号权限和敏感数据时。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Firebase

通过托管的 OAuth 认证访问 Firebase Management API。支持对 Firebase 项目及应用(Web、Android、iOS)执行完整的 CRUD 操作。

快速开始

# 列出 Firebase 项目
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/firebase/v1beta1/projects')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

基础 URL

https://api.maton.ai/firebase/{native-api-path}

Maton 将请求代理至 firebase.googleapis.com,并自动注入您的 OAuth Token。

认证

所有请求均需在 Authorization 请求头中提供 Maton API 密钥:

Authorization: Bearer $MATON_API_KEY

环境变量:将您的 API 密钥设为 MATON_API_KEY:

export MATON_API_KEY="YOUR_API_KEY"

获取您的 API 密钥

  1. 在 maton.ai 登录或注册账户
  2. 访问 maton.ai/settings
  3. 复制您的 API 密钥

连接管理

在 https://api.maton.ai 管理您的 Firebase OAuth 连接。

列出连接

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections?app=firebase&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

创建连接

python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'firebase'}).encode()
req = urllib.request.Request('https://api.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

获取连接

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

响应:

{
  "connection": {
    "connection_id": "{connection_id}",
    "status": "ACTIVE",
    "creation_time": "2025-12-08T07:20:53.488460Z",
    "last_updated_time": "2026-01-31T20:03:32.593153Z",
    "url": "https://connect.maton.ai/?session_token=...",
    "app": "firebase",
    "metadata": {}
  }
}

在浏览器中打开返回的 url 以完成 OAuth 授权。

删除连接

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

指定连接

若您拥有多个 Firebase 连接,请使用 Maton-Connection 请求头指定要使用的连接:

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/firebase/v1beta1/projects')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Maton-Connection', '{connection_id}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

若您拥有多个连接,务必始终包含该请求头,以确保请求路由至目标账户。

安全与权限

  • 访问范围限定于已连接 Firebase 账户内的项目、Web 应用、站点、Hosting 渠道和发布版本。
  • 所有写操作均需用户显式授权。 在执行任何创建、更新或删除调用前,必须向用户确认目标资源及其预期影响。

API 参考

项目操作

列出项目

列出经身份验证用户可访问的所有 Firebase 项目。

GET /firebase/v1beta1/projects

响应:

{
  "results": [
    {
      "projectId": "my-firebase-project",
      "projectNumber": "123456789",
      "displayName": "My Firebase Project",
      "name": "projects/my-firebase-project",
      "resources": {
        "hostingSite": "my-firebase-project"
      },
      "state": "ACTIVE",
      "etag": "1_bc06d94f-cf77-4689-be01-576702b23f6a"
    }
  ]
}

获取项目

GET /firebase/v1beta1/projects/{projectId}

更新项目

PATCH /firebase/v1beta1/projects/{projectId}?updateMask=displayName
Content-Type: application/json

{
  "displayName": "Updated Project Name"
}

列出可用项目

列出可添加 Firebase 的 Google Cloud 项目。

GET /firebase/v1beta1/availableProjects

向项目添加 Firebase

为现有 Google Cloud 项目启用 Firebase 服务。

POST /firebase/v1beta1/projects/{projectId}:addFirebase
Content-Type: application/json

{}

该操作返回一个长期运行的操作(long-running operation)。可通过以下方式检查操作状态:

GET /firebase/v1beta1/operations/{operationId}

获取 Admin SDK 配置

GET /firebase/v1beta1/projects/{projectId}/adminSdkConfig

Web 应用操作

列出 Web 应用

GET /firebase/v1beta1/projects/{projectId}/webApps

获取 Web 应用

GET /firebase/v1beta1/projects/{projectId}/webApps/{appId}

创建 Web 应用

POST /firebase/v1beta1/projects/{projectId}/webApps
Content-Type: application/json

{
  "displayName": "My Web App"
}

更新 Web 应用

PATCH /firebase/v1beta1/projects/{projectId}/webApps/{appId}?updateMask=displayName
Content-Type: application/json

{
  "displayName": "Updated Web App Name"
}

获取 Web 应用配置

GET /firebase/v1beta1/projects/{projectId}/webApps/{appId}/config

响应:

{
  "projectId": "my-firebase-project",
  "appId": "1:123456789:web:abc123",
  "apiKey": "AIzaSy...",
  "authDomain": "my-firebase-project.firebaseapp.com",
  "storageBucket": "my-firebase-project.firebasestorage.app",
  "messagingSenderId": "123456789",
  "measurementId": "G-XXXXXXXXXX",
  "projectNumber": "123456789"
}

删除 Web 应用

POST /firebase/v1beta1/projects/{projectId}/webApps/{appId}:remove
Content-Type: application/json

{
  "immediate": true
}

恢复 Web 应用

POST /firebase/v1beta1/projects/{projectId}/webApps/{appId}:undelete
Content-Type: application/json

{}

Android 应用操作

列出 Android 应用

GET /firebase/v1beta1/projects/{projectId}/androidApps

获取 Android 应用

GET /firebase/v1beta1/projects/{projectId}/androidApps/{appId}

创建 Android 应用

POST /firebase/v1beta1/projects/{projectId}/androidApps
Content-Type: application/json

{
  "displayName": "My Android App",
  "packageName": "com.example.myapp"
}

更新 Android 应用

PATCH /firebase/v1beta1/projects/{projectId}/androidApps/{appId}?updateMask=displayName
Content-Type: application/json

{
  "displayName": "Updated Android App Name"
}

获取 Android 应用配置

返回 google-services.json 配置文件。

GET /firebase/v1beta1/projects/{projectId}/androidApps/{appId}/config

删除 Android 应用

POST /firebase/v1beta1/projects/{projectId}/androidApps/{appId}:remove
Content-Type: application/json

{
  "immediate": true
}

列出 SHA 证书

GET /firebase/v1beta1/projects/{projectId}/androidApps/{appId}/sha

添加 SHA 证书

POST /firebase/v1beta1/projects/{projectId}/androidApps/{appId}/sha
Content-Type: application/json

{
  "shaHash": "1234567890ABCDEF1234567890ABCDEF12345678",
  "certType": "SHA_1"
}

删除 SHA 证书

DELETE /firebase/v1beta1/projects/{projectId}/androidApps/{appId}/sha/{shaId}

iOS 应用操作

列出 iOS 应用

GET /firebase/v1beta1/projects/{projectId}/iosApps

获取 iOS 应用

GET /firebase/v1beta1/projects/{projectId}/iosApps/{appId}

创建 iOS 应用

POST /firebase/v1beta1/projects/{projectId}/iosApps
Content-Type: application/json

{
  "displayName": "My iOS App",
  "bundleId": "com.example.myapp"
}

更新 iOS 应用

PATCH /firebase/v1beta1/projects/{projectId}/iosApps/{appId}?updateMask=displayName
Content-Type: application/json

{
  "displayName": "Updated iOS App Name"
}

获取 iOS 应用配置

返回 GoogleService-Info.plist 配置文件。

GET /firebase/v1beta1/projects/{projectId}/iosApps/{appId}/config

删除 iOS 应用

POST /firebase/v1beta1/projects/{projectId}/iosApps/{appId}:remove
Content-Type: application/json

{
  "immediate": true
}

Google Analytics 操作

获取 Analytics 详情

GET /firebase/v1beta1/projects/{projectId}/analyticsDetails

添加 Google Analytics

POST /firebase/v1beta1/projects/{projectId}:addGoogleAnalytics
Content-Type: application/json

{
  "analyticsAccountId": "123456789"
}

移除 Google Analytics

POST /firebase/v1beta1/projects/{projectId}:removeAnalytics
Content-Type: application/json

{
  "analyticsPropertyId": "properties/123456789"
}

可用区域

列出可用区域

GET /firebase/v1beta1/projects/{projectId}/availableLocations

分页

使用 pageSize 和 pageToken 实现分页:

GET /firebase/v1beta1/projects?pageSize=10&pageToken={nextPageToken}

当存在更多结果时,响应中将包含 nextPageToken:

{
  "results": [...],
  "nextPageToken": "..."
}

代码示例

JavaScript

const response = await fetch(
  'https://api.maton.ai/firebase/v1beta1/projects',
  {
    headers: {
      'Authorization': `Bearer ${process.env.MATON_API_KEY}`
    }
  }
);
const data = await response.json();

Python

import os
import requests

response = requests.get(
    'https://api.maton.ai/firebase/v1beta1/projects',
    headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'}
)
data = response.json()

创建 Web 应用

import os
import requests

response = requests.post(
    'https://api.maton.ai/firebase/v1beta1/projects/my-project/webApps',
    headers={
        'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}',
        'Content-Type': 'application/json'
    },
    json={'displayName': 'My New Web App'}
)
data = response.json()

注意事项

  • 项目 ID 是 Firebase 项目的全局唯一标识符
  • 应用 ID 格式为 1:PROJECT_NUMBER:PLATFORM:HASH
  • PATCH 请求需携带 updateMask 查询参数,用于指定待更新字段(例如:?updateMask=displayName)
  • 创建操作为异步执行,返回一个 Operation 对象
  • 可通过 /firebase/v1beta1/operations/{operationId} 查询操作状态
  • 已删除的应用可在 30 天内通过 undelete 接口恢复
  • 重要:使用 curl 命令时,若 URL 中包含方括号,请使用 curl -g 禁用 glob 解析
  • 重要:将 curl 输出管道传递给 jq 或其他命令时,在部分 Shell 环境中环境变量(如 $MATON_API_KEY)可能无法正确展开

错误处理

状态码 含义
400 缺少 Firebase 连接
401 Maton API 密钥无效或缺失
403 当前操作权限不足
404 项目或应用未找到
429 请求频率超限
4xx/5xx 来自 Firebase API 的透传错误

相关资源

  • Firebase Management API 概览
  • Firebase Management REST API 参考文档
  • Projects 资源
  • Web Apps 资源
  • Android Apps 资源
  • iOS Apps 资源
  • Maton 社区
  • Maton 支持
目录

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

0

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

0

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

0

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

0

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn