【发布时间】:2021-04-06 02:47:14
【问题描述】:
我需要调用 Dialogflow V2 API,但为此我需要生成一个令牌。 我发现了很多关于如何做到这一点的代码,但对我不起作用。
我正在做一个 API 来生成令牌,然后将令牌传递给另一个 API 以调用 DialogFlow API。
谁能帮助我如何生成一个令牌来调用 Dialogflow V2 API?
我的 API 生成令牌代码如下:
const express = require('express');
const router = express.Router();
const googleAuth = require('google-oauth-jwt');
function generateAccessToken() {
return new Promise((resolve) => {
googleAuth.authenticate(
{
email: "<myemail>",
key: "<myprivatekey>",
scopes: "https://www.googleapis.com/auth2/v4/token",
},
(err, token) => {
resolve(token);
},
);
});
}
router.get('/token', async(req, res) => {
try {
let tok = await generateAccessToken();
return res.status(200).send({ Token: tok});
} catch(err) {
return res.status(500).send({ error: 'Erro ao gerar token'});
}
});
module.exports = app => app.use('/', router);
【问题讨论】:
-
在哪里运行您的应用程序?在谷歌云上?其他地方?
-
我的应用在本地服务器上运行。
-
您有服务帐户密钥文件吗? (我认为是的,因为您提供了一个私钥,它应该来自这个密钥文件!)
标签: javascript node.js google-cloud-platform dialogflow-es