部署创建 agora 令牌的 firebase 函数时出错
Error while deploying firebase function which creates agora token
我已经尝试了很多方法来部署这个功能,安装和卸载节点很多次,并且尝试了很多次,但它仍然给我同样的错误。
我想要实现的是使用 agora-access-token 包使用 firebase 函数生成令牌
代码是:
const functions = require("firebase-functions");
const {RtcTokenBuilder, RtcRole} = require("agora-access-token");
exports.agoraToken = functions.region("asia-south1").
https.onCall((data, context)=> {
const appID = "<myAppID>";
const appCertificate = "myAppCertificate";
const uid = data.uid;
const channelId = data.channelId;
const role = RtcRole.PUBLISHER;
const expirationTimeInSeconds = 3600;
const currentTimestamp = Math.floor(Date.now() / 1000);
const privilegeExpiredTs = currentTimestamp + expirationTimeInSeconds;
const token = RtcTokenBuilder.buildTokenWithUid(appID,
appCertificate, channelId, uid, role, privilegeExpiredTs);
return token;
});
错误是:
=== Deploying to 'xxxx'...
I deploying functions Running command: npm --prefix "$RESOURCE_DIR"
run lint
lint
eslint .
- 功能:已完成 运行 预部署脚本。我的功能:确保所需的 API cloudfunctions.googleapis.com 已启用...我
功能:确保所需的 API cloudbuild.googleapis.com 是
启用...我的功能:确保需要 API
artifactregistry.googleapis.com 已启用...
- 功能:必需API artifactregistry.googleapis.com 已启用
- 功能:必需API cloudfunctions.googleapis.com 已启用
- 功能:需要API cloudbuild.googleapis.com已启用我的功能:准备上传功能目录...我
functions: 用于上传的打包函数 (71.53 KB)
- functions: functions 文件夹上传成功 i functions: creating Node.js 14 function agoraToken(asia-south1)...
函数部署有以下函数错误:
agoraToken(asia-south1) i 功能:清理构建文件...
错误:部署函数时出错
我可以建议您使用 --debug
,因为它提供了日志中没有的信息,而且它还可以修复有问题的部署。
尝试 运行 使用 --debug 进行部署。
示例:firebase --debug deploy.
可以在 Firebase 仪表板、Cloud Logging UI 或 firebase 命令行工具中查看 Cloud Function 日志。
要查看更多日志,这里是 link 文档。
问题是我没有在 package.json 文件中添加依赖项。我不得不在函数文件夹的 package.json 中添加 agora-access-token 依赖项。
我已经尝试了很多方法来部署这个功能,安装和卸载节点很多次,并且尝试了很多次,但它仍然给我同样的错误。 我想要实现的是使用 agora-access-token 包使用 firebase 函数生成令牌 代码是:
const functions = require("firebase-functions");
const {RtcTokenBuilder, RtcRole} = require("agora-access-token");
exports.agoraToken = functions.region("asia-south1").
https.onCall((data, context)=> {
const appID = "<myAppID>";
const appCertificate = "myAppCertificate";
const uid = data.uid;
const channelId = data.channelId;
const role = RtcRole.PUBLISHER;
const expirationTimeInSeconds = 3600;
const currentTimestamp = Math.floor(Date.now() / 1000);
const privilegeExpiredTs = currentTimestamp + expirationTimeInSeconds;
const token = RtcTokenBuilder.buildTokenWithUid(appID,
appCertificate, channelId, uid, role, privilegeExpiredTs);
return token;
});
错误是:
=== Deploying to 'xxxx'...
I deploying functions Running command: npm --prefix "$RESOURCE_DIR" run lint
lint eslint .
- 功能:已完成 运行 预部署脚本。我的功能:确保所需的 API cloudfunctions.googleapis.com 已启用...我 功能:确保所需的 API cloudbuild.googleapis.com 是 启用...我的功能:确保需要 API artifactregistry.googleapis.com 已启用...
- 功能:必需API artifactregistry.googleapis.com 已启用
- 功能:必需API cloudfunctions.googleapis.com 已启用
- 功能:需要API cloudbuild.googleapis.com已启用我的功能:准备上传功能目录...我 functions: 用于上传的打包函数 (71.53 KB)
- functions: functions 文件夹上传成功 i functions: creating Node.js 14 function agoraToken(asia-south1)...
函数部署有以下函数错误: agoraToken(asia-south1) i 功能:清理构建文件...
错误:部署函数时出错
我可以建议您使用 --debug
,因为它提供了日志中没有的信息,而且它还可以修复有问题的部署。
尝试 运行 使用 --debug 进行部署。
示例:firebase --debug deploy.
可以在 Firebase 仪表板、Cloud Logging UI 或 firebase 命令行工具中查看 Cloud Function 日志。
要查看更多日志,这里是 link 文档。
问题是我没有在 package.json 文件中添加依赖项。我不得不在函数文件夹的 package.json 中添加 agora-access-token 依赖项。