https://developers.google.com/actions/reference/nodejs/ApiAiApp나는 "DialogflowApp.getUser"방법과 정보를 얻을 수
나는 위의 공식 웹 사이트를 참조하여 Dialogflow에 액세스 토큰을 얻기 위해 싶습니다하지만 DialogflowApp.getUser()
의 실행 결과는 널 (NULL)이 될 것입니다.
계정 연결이 설정되어 있으며 클라이언트 측에서 Google 계정 인증을 받았습니다. AssistantToAgentDebug.assistantToAgentJson.user
에는 DialogFlow Simulator의 디버그 탭에 값이 들어 있습니다.
또한 요청 본문에 req.body.originalRequest.data.user.accessToken
변수를 참조하여 액세스 토큰을 얻을 수 있습니다.
DialogflowApp.getUser()
으로 사용자 정보를 얻고 싶습니다. 아래 정의에 실수가 있습니까?
* Fullfilment를 사용하면 논리가 index.js에 설명되어 있습니다.
*는
'use strict';
const App = require('actions-on-google').DialogflowApp;
exports.testMethod = (req, res) => {
// result is null
const app = new App({req, res});
let user = app.getUser();
console.log('User is ' + user);
// Access token can be acquired
let accessToken = req.body.originalRequest.data.user.accessToken;
console.log('accessToken is ' + accessToken);
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ 'speech': 'success!', 'displayText': 'success!' }));
};
을하는 index.js * package.json
{
"name": "testMethod",
"engines": {
"node": "~4.2"
},
"dependencies": {
"actions-on-google": "^1.0.0",
"firebase-admin": "^4.2.1",
"firebase-functions": "^0.5.7"
}
}
감사합니다,이 일! 도움 주셔서 감사합니다. – Masa
다행이 당신을 도왔습니다! 응답을 upvoting 및/또는 수락 항상 감사합니다. – Prisoner