Firebase云消息传递存在本地Firebase云功能问题
当我在本地启动函数时(firebase serve——仅函数),它可以读取和写入Firestore数据,但在发送推送通知时失败,出现以下错误。它从昨天开始工作。今天我把MacOS升级到Big Sur,然后它就停止工作了 未经授权的错误401尝试验证时出错 到FCM服务器。确保用于身份验证的凭据 此SDK具有适当的权限。看见 有关安装说明,请参阅 以下是尝试发送通知的函数: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)
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,它就开始工作了。感谢您的时间和帮助。请编辑问题以显示未按预期方式运行的代码。