在我的DialogFlow V1 Webhook中,我曾经这样获得用户的访问 token (node.js):
exports.voxGoogleHomeWebhook = functions.https.onRequest((req, res) => {
const app = new WebhookClient({request: req, response: res});
var accessToken = app.getUser().accessToken
这在DialogFlow V2中不起作用。
getUser()
在WebhookClient实例上不可用。我在他们的文档中找不到如何获取登录用户的accessToken:
https://dialogflow.com/docs/fulfillment
我尝试获取app.session,但这只是用户 session 的唯一 session 字符串标识符。不是他们的访问 token 。
如何在V2中获取accessToken?
最佳答案
看起来请求对象中包含此信息的部分尚未(尚未)由库处理。我打开了a bug on the issue,您可能希望关注或评论它。
同时,您可以通过查看req.body
对象来访问用户信息。具体来说,您可以查看req.body.originalDetectIntentRequest.payload.user
以获得User object。 accessToken
字段是您要查找的字段。
关于actions-on-google - DialogFlow Webhook API V2-如何获取授权用户的accessToken?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49330007/