|
通过托管OAuth认证访问Firebase管理API。使用完整的CRUD操作管理Firebase项目和应用程序(Web、Android、iOS)。
bash
https://gateway.maton.ai/firebase/{native-api-path}
将{native-api-path}替换为实际的Firebase管理API端点路径。网关将请求代理到firebase.googleapis.com,并自动注入您的OAuth令牌。
所有请求都需要在Authorization头中包含Maton API密钥:
Authorization: Bearer $MATONAPIKEY
环境变量: 将您的API密钥设置为MATONAPIKEY:
bash
export MATONAPIKEY=YOURAPIKEY
在https://ctrl.maton.ai管理您的Firebase OAuth连接。
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections?app=firebase&status=ACTIVE)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
bash
python <
data = json.dumps({app: firebase}).encode()
req = urllib.request.Request(https://ctrl.maton.ai/connections, data=data, method=POST)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
req.add_header(Content-Type, application/json)
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections/{connection_id})
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
响应:
json
{
connection: {
connection_id: 21fd90f9-5935-43cd-b6c8-bde9d915ca80,
status: ACTIVE,
creation_time: 2025-12-08T07:20:53.488460Z,
lastupdatedtime: 2026-01-31T20:03:32.593153Z,
url: https://connect.maton.ai/?session_token=...,
app: firebase,
metadata: {}
}
}
在浏览器中打开返回的url以完成OAuth授权。
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections/{connection_id}, method=DELETE)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果您有多个Firebase连接,请使用Maton-Connection头指定要使用的连接:
bash
python <
req = urllib.request.Request(https://gateway.maton.ai/firebase/v1beta1/projects)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
req.add_header(Maton-Connection, 21fd90f9-5935-43cd-b6c8-bde9d915ca80)
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果省略,网关将使用默认(最旧)的活动连接。
列出认证用户可访问的所有Firebase项目。
bash
GET /firebase/v1beta1/projects
响应:
json
{
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
}
]
}
bash
GET /firebase/v1beta1/projects/{projectId}
bash
PATCH /firebase/v1beta1/projects/{projectId}?updateMask=displayName
Content-Type: application/json
{
displayName: Updated Project Name
}
列出可以添加Firebase的Google Cloud项目。
bash
GET /firebase/v1beta1/availableProjects
向现有Google Cloud项目添加Firebase服务。
bash
POST /firebase/v1beta1/projects/{projectId}:addFirebase
Content-Type: application/json
{}
这将返回一个长时间运行的操作。使用以下命令检查操作状态:
bash
GET /firebase/v1beta1/operations/{operationId}
bash
GET /firebase/v1beta1/projects/{projectId}/adminSdkConfig
bash
GET /firebase/v1beta1/projects/{projectId}/webApps
bash
GET /firebase/v1beta1/projects/{projectId}/webApps/{appId}
bash
POST /firebase/v1beta1/projects/{projectId}/webApps
Content-Type: application/json
{
displayName: My Web App
}
bash
PATCH /firebase/v1beta1/projects/{projectId}/webApps/{appId}?updateMask=displayName
Content-Type: application/json
{
displayName: Updated Web App Name
}
bash
GET /firebase/v1beta1/projects/{projectId}/webApps/{appId}/config
响应:
json
{
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
}
bash
POST /firebase/v1beta1/projects/{projectId}/webApps/{appId}:remove
Content-Type: application/json
{
immediate: true
}
bash
POST /firebase/v1beta1/projects/{projectId}/webApps/{appId}:undelete
Content-Type: application/json
{}
bash
GET /firebase/v1beta1/projects/{projectId}/androidApps
bash
GET /firebase/v1beta1/projects/{projectId}/androidApps/{appId}
bash
POST /firebase/v1beta1/projects/{projectId}/androidApps
Content-Type: application/json
{
displayName: My Android App,
packageName: com.example.myapp
}
bash
PATCH /firebase/v1beta1/projects/{projectId}/androidApps/{appId}?updateMask=displayName
Content-Type: application/json
{
displayName: Updated Android App Name
}
返回google-services.json配置。
bash
GET /firebase/v1beta1/projects/{projectId}/androidApps/{appId}/config
bash
POST /firebase/v1beta1/projects/{projectId}/android
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 firebase-1776420036 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 firebase-1776420036 技能
skillhub install firebase-1776420036
文件大小: 4.66 KB | 发布时间: 2026-4-17 19:24