我有一个 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