当前位置: 首页 > 知识库问答 >
问题:

如何解决Firebase Cloud函数中出现的Firebase云消息错误?

解宏扬
2023-03-14

我在使用Firebase云函数中的Firebase云消息时遇到一些问题。

错误信息如下。这是从我的Firebase云功能日志控制台。

错误:尝试向FCM服务器进行身份验证时出错。请确保用于验证此SDK的凭据具有适当的权限。

首先,我遵循Firebase Cloud Functions CodeLabs。

https://firebase.google.com/codelabs/firebase-cloud-functions

最后实验室“新消息通知”,当我在Web“友好聊天”应用程序上插入新消息时,没有显示通知消息。然后我在Firebase Cloud Functions Log控制台中检查了日志,我告诉了一条错误消息。

如何解决Firebase Cloud函数中出现的Firebase云消息错误?

或。。。在调用 FCM 之前,如何检查云函数凭据?

const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();

// Sends a notifications to all users when a new message is posted.
exports.sendNotifications = functions.firestore.document('messages/{messageId}').onCreate(
    async (snapshot) => {
        // Notification details.
        const text = snapshot.data().text;
        const payload = {
            notification: {
                title: `${snapshot.data().name} posted ${text ? 'a message' : 'an image'}`,
                body: text ? (text.length <= 100 ? text : text.substring(0, 97) + '...') : '',
                icon: snapshot.data().profilePicUrl || '/images/profile_placeholder.png',
                click_action: `https://${process.env.GCLOUD_PROJECT}.firebaseapp.com`,
            }
        };

        // Get the list of device tokens.
        const allTokens = await admin.firestore().collection('fcmTokens').get();
        const tokens = [];
        allTokens.forEach((tokenDoc) => {
            tokens.push(tokenDoc.id);
        });

        if (tokens.length > 0) {
            // Send notifications to all tokens.
            const response = await admin.messaging().sendToDevice(tokens, payload);
            await cleanupTokens(response, tokens);
            functions.logger.log('Notifications have been sent and tokens cleaned up.');
        }
    });

提前谢谢你。

共有1个答案

刘选
2023-03-14

我通过在项目设置的“云消息API(传统)”中设置“已启用”来解决此问题。

 类似资料:
  • 我也在尝试使用node。js和firebase管理员向iOS设备发送推送通知。然而,我遇到了这个错误: 错误发送消息:{错误:请求包含一个无效的参数。在Firebase MessagingError。错误(本机)在Firebase MessagingError。Firebase Error[作为构造函数](/user_code/node_modules/fire base-admin/lib/ut

  • 我在尝试在Ionic 3中安装Firebase Cloud Messaging推送通知后出现此错误。我还没有下载cordova FCM插件,因为根据我观看的教程,它应该没有必要。 配置根项目android时出现问题。 无法解析配置“:_debugApkCopy”的所有依赖项。找不到com。谷歌。firebase:firebase消息:11.0.1。所需人员:项目:找不到com。谷歌。firebas

  • 我曾试图按照这里给出的指导方针编写一个使用Firebase云消息传递的应用程序,但我对添加实现FCM的依赖性感到震惊(com.google.Firebase:Firebase core:9.0.2)。每次我试图通过项目结构添加它时,它都不会在搜索结果中列出依赖项。当我试图将其添加到应用程序级gradle中时,它会给我一个错误,即无法解决依赖关系。我不知道哪里出了问题,但请帮我解决这个问题。

  • 在我的Android应用程序中,我收到使用Firebase发送的消息,问题不是所有消息都到达,有时消息到达非常慢。 在我的服务器端,我跟踪我发送到FCM的消息,我总是收到成功:来自FCM的1个响应,仍然有我在Android应用程序中没有收到的消息。 我认为FCM消息日志在上面描述的情况下会有很大的帮助,但我不确定是否存在此选项。 有办法浏览Firebase消息日志吗?

  • 这是在使用Firebase消息传递推送通知时显示的错误... 这是Firebase消息的js代码 这个日志是打印出来的。。。 这是颤振代码 获得ios权限,但我正在使用android手机进行调试 onCreateActivityFeedItem活动源项已创建{commentData:'ab to man ja',mediaUrl:'https://firebasestorage.googleapi