Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase云消息传递存在本地Firebase云功能问题_Firebase_Google Cloud Functions_Firebase Cloud Messaging_Firebase Cli - Fatal编程技术网

Firebase云消息传递存在本地Firebase云功能问题

Firebase云消息传递存在本地Firebase云功能问题,firebase,google-cloud-functions,firebase-cloud-messaging,firebase-cli,Firebase,Google Cloud Functions,Firebase Cloud Messaging,Firebase Cli,当我在本地启动函数时(firebase serve——仅函数),它可以读取和写入Firestore数据,但在发送推送通知时失败,出现以下错误。它从昨天开始工作。今天我把MacOS升级到Big Sur,然后它就停止工作了 未经授权的错误401尝试验证时出错 到FCM服务器。确保用于身份验证的凭据 此SDK具有适当的权限。看见 有关安装说明,请参阅 以下是尝试发送通知的函数: exports.test = functions.https.onRequest(async (req, response)

当我在本地启动函数时(firebase serve——仅函数),它可以读取和写入Firestore数据,但在发送推送通知时失败,出现以下错误。它从昨天开始工作。今天我把MacOS升级到Big Sur,然后它就停止工作了

未经授权的错误401尝试验证时出错 到FCM服务器。确保用于身份验证的凭据 此SDK具有适当的权限。看见 有关安装说明,请参阅

以下是尝试发送通知的函数

exports.test = functions.https.onRequest(async (req, response) => {
    var data = {};
    const token = await util.getTokenByEmail('demouser@gmail.com');
    let payload = {}, notiData = {}, notification = {}
    notification.title = notiData.title = `Test msg`;
    notification.body = `Test msg`;
    notiData.message = `Test msg`;
    payload.notification = notification;
    payload.data = notiData;
   try {
     await admin.messaging().sendToDevice(token, payload);
   } catch (e) {
      console.log(`Error: ${e}`); // Unauthorized Error 401
       data.error = e;
   }
   response.status(200).json({ data: data });
});
我遵循给出的步骤,并设置了GOOGLE_应用程序_凭据

export GOOGLE_APPLICATION_CREDENTIALS="Volumes/demo/Firebase/key.json"
我正在从Firebase->Settings->Service Accounts下载key.json


结果是,我只为终端会话设置了谷歌应用程序凭据。一旦我将路径设置为$HOME/.zshrc,它就开始工作了。感谢您的时间和帮助。

请编辑问题以显示未按预期方式运行的代码。