You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Cloud Console服务账号JSON用Google Cloud PHP Client Library获取云消息服务器密钥

解决方案:程序化获取FCM服务器密钥

核心说明

FCM服务器密钥属于Firebase项目的专属配置,无法通过常规Cloud Console API获取,需要使用Firebase Management API实现程序化读取,以下是具体实现步骤:


步骤1:启用Firebase Management API

在Google Cloud Console中进入你的项目,打开「API和服务」→「库」,搜索并启用Firebase Management API。

步骤2:配置服务账号权限

给你的Cloud Console服务账号分配以下任一权限:

  • Firebase Admin SDK Administrator Service Agent(推荐,最小权限)
  • Editor(项目编辑权限,权限范围更广)

步骤3:使用Google PHP Client Library调用API

以下是PHP代码示例,用于获取指定Firebase项目的FCM服务器密钥:

require __DIR__ . '/vendor/autoload.php';

$client = new Google\Client();
$client->setAuthConfig('/path/to/your-service-account.json');
$client->addScope('https://www.googleapis.com/auth/firebase.readonly');

$service = new Google\Service\FirebaseManagement($client);
$projectId = 'your-project-id'; // 替换为你的项目ID

try {
    $config = $service->projects->getConfig("projects/{$projectId}");
    $fcmConfig = $config->getFcmConfig();
    $serverKey = $fcmConfig->getServerKey();
    
    echo "FCM服务器密钥:{$serverKey}";
} catch (Exception $e) {
    echo "获取失败:" . $e->getMessage();
}

关键注意事项

  • 确保PHP客户端库包含Firebase Management API依赖,若缺失可通过Composer安装:composer require google/apiclient:^2.0
  • 服务账号必须关联到对应的Firebase项目(若项目未关联Firebase,需先在Firebase控制台完成关联)
  • firebase.readonly权限已足够读取配置,无需分配更高权限

内容的提问来源于stack exchange,提问作者Md azeem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 10:12:36