小编Mab*_* A.的帖子

Firebase Cloud 消息传递 - 云构建部署的应用程序的权限错误

我有一个 java spring boot 后端应用程序,我正在尝试将其连接到 Firebase Cloud Messages。我有一个使用 firebase 的 Android 应用程序,我正在尝试使用这个后端来推送通知。

我已经从 firebase 控制台项目设置生成了私钥,放置了 json 文件 - 以下内容在本地完美运行:

try {
  FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredentials(GoogleCredentials.fromStream(new ClassPathResource("PATH_TO_GENERATED_JSON").
  getInputStream())).build();
  if (FirebaseApp.getApps().isEmpty()) {
    FirebaseApp.initializeApp(options);
    logger.info("Firebase application has been initialized");
  }
} catch (IOException e) {
  logger.error(e.getMessage());
}
...
response = FirebaseMessaging.getInstance().send(message);
Run Code Online (Sandbox Code Playgroud)

我已经将 google cloud build 设置为自动触发并从 github 构建。但我无法提交 json 凭证文件(对吗?),因此对于云部署,我已将初始化部分更改为:

if (FirebaseApp.getApps().isEmpty()) {
  FirebaseApp.initializeApp();
  logger.info("Firebase application has been initialized");
}
Run Code Online (Sandbox Code Playgroud)

但我收到了有关未设置项目 id 的错误信息,因此我还使用以下命令编辑了云构建触发器内联 YAML:

--update-env-vars=GOOGLE_CLOUD_PROJECT=XXXXXXXXXXX

但现在我在尝试发送消息时收到以下错误:

com.google.firebase.messaging.FirebaseMessagingException: Permission 'cloudmessaging.messages.create' denied on …

javascript firebase google-cloud-platform firebase-cloud-messaging google-cloud-build

9
推荐指数
1
解决办法
8357
查看次数