这是我用来获取访问令牌以创建会话实体的代码,如下所述:https://dialogflow.com/docs/reference/api-v2/rest/v2/projects.agent.sessions.entityTypes 以前该代码可以正常工作,但是突然停止工作,现在它返回的访问令牌在firebase函数中未定义,这是不起作用的代码:
export const rough = functions.https.onRequest((request, response) => {
var { google } = require('googleapis');
const cred = {
serviceAccountEmail: "dialogflow-abc@abc-abc.iam.gserviceaccount.com",
privateKey: "-----BEGIN PRIVATE KEY-----abcdkey---END PRIVATE KEY-----\n"
}
// getting server to server OAuth token
const serviceAccountAuth = new google.auth.JWT({ // key is private key, extracted from service-account json file
email: cred.serviceAccountEmail,
key: cred.privateKey,
scopes: ['https://www.googleapis.com/auth/cloud-platform']
})
console.log(serviceAccountAuth);
const _tokenData = serviceAccountAuth.authorize().then(tokenData => {
console.log("tokenData: ", tokenData)
}) })
代码是正确的,因为该代码在我的机器上仍然可以正常工作,请看一下:
我机器中的代码:(工作中)
firebase函数中的相同代码:(不工作)
如果我在firebase函数模拟器中运行相同的函数,则效果很好
本地仿真器(工作)
答案 0 :(得分:0)
我的代码像以前一样自动开始工作 这是由于Google发生的事件
调查Firebase的Cloud Functions问题
事件始于2018年12月15日04:00,始于2018年12月15日13:15(全部 时间是美国/太平洋)。 https://status.firebase.google.com/incident/Functions/18044
现在事件已回滚,这就是我认为我的代码再次开始正常工作的原因
当我在其他几个地方发布此问题时,包括他们的闲置频道以及firebase和google api的不同github存储库,我意识到我不是唯一面临此问题的人,但是有更多人在不同地方报告了类似问题功能和存储等服务,它们的代码运行良好,但是现在抛出错误