使用Node js客户端库

时间:2018-05-11 23:27:37

标签: javascript node.js actions-on-google

我正在为nodejs https://www.npmjs.com/package/actions-on-google

使用action-on-goolge库

我如何能够获得整个JSON响应,或者在我的intent函数中使用id字符串?我试图打印出输入,它只给出了JSON的查询部分。试图查找他们的文档,它似乎没有解释我如何能够取回整个JSON文件。 https://developers.google.com/actions/reference/nodejs/lib-v1-migration 我是javascript的初学者。

来自模拟器的JSON请求:

{
  "user": {
    "userId": "ABwppHEAPgcgb2yFUFURYFEJGg4VdAVcL9UKO9cS7a7rVfasdasdt67LzgrmMseTvb5mmJjbjj7UV",
    "locale": "en-US",
    "lastSeen": "2018-05-11T23:14:42Z",
    "userStorage": "{\"data\":{}}"
  },
  "conversation": {
    "conversationId": "1526080586367",
    "type": "NEW"
  },
  "inputs": [
    {
      "intent": "com.example.device.OFF",
      "rawInputs": [
        {
          "inputType": "KEYBOARD",
          "query": "Talk to MyDevice to turn off"
        }
      ],
      "arguments": [
        {
          "name": "trigger_query",
          "rawText": "turn off",
          "textValue": "turn off"
        }
      ]
    }
  ],
  "surface": {
    "capabilities": [
      {
        "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
      },
      {
        "name": "actions.capability.WEB_BROWSER"
      },
      {
        "name": "actions.capability.AUDIO_OUTPUT"
      },
      {
        "name": "actions.capability.SCREEN_OUTPUT"
      }
    ]
  },
  "isInSandbox": true,
  "availableSurfaces": [
    {
      "capabilities": [
        {
          "name": "actions.capability.AUDIO_OUTPUT"
        },
        {
          "name": "actions.capability.SCREEN_OUTPUT"
        }
      ]
    }
  ]
}

My Node JS脚本基于示例:

const express = require('express')
const bodyParser = require('body-parser')
const {
  actionssdk,
  Image,
} = require('actions-on-google')

app.intent('actions.intent.TEXT', (conv, input) => {
  if (input === 'bye' || input === 'goodbye') {
    return conv.close('See you later!')
  }
  conv.ask(`I didn't understand. Can you tell me something else?`)
})

app.intent('com.example.MyDevice.TEST', (conv, input) => {
  console.log(input); 
  console.log(conv.action);
  console.log(conv.intent);
  conv.close('Test Done');
});

express().use(bodyParser.json(), app).listen(3000)

1 个答案:

答案 0 :(得分:0)

您应该能够通过conv.body获取整个JSON请求。