托管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 密钥
- 在 maton.ai 登录或注册账户
- 访问 maton.ai/settings
- 复制您的 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工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习