使用任何服务器数据库执行Google Assistant操作

时间:2019-03-06 09:28:49

标签: database google-assistant-sdk

我正在使用Google Assistant创建自己的操作,因此我是新手。我想使用自己的数据库并保存用户对数据库的响应。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

早上好,乔塔姆!您的确切实现代码将取决于您选择的数据库和云环境。就我而言,我为Google Assistant构建了an action,该助手在GCP Cloud Firestore NoSQL数据库中创建了一个条目。

此示例代码在我的数据库中创建一个条目:

app.intent('write to the wall', (conv) => {
    console.log(conv);
    console.log(conv.input.raw);
    var userReply = conv.input.raw;

    function writeToDb(userReply){

        const dialogflowAgentRef = db.collection('dialogflow').doc('agent');

        return db.runTransaction(t => {
          t.set(dialogflowAgentRef, {entry: userReply});
          conv.ask('The wall now reads, ' + userReply + '\n\n');
          conv.close("Thanks for visiting!");
          return Promise.resolve('Write complete');
        }).then(doc => {
          console.log(`Wrote "${userReply}" to the Firestore database.`);
        }).catch(err => {
          console.log(`Error writing to Firestore: ${err}`);
        //   console.log(`Failed to write "${userReply}" to the Firestore database.`);
        });
    }

    return writeToDb(userReply);

});

您的数据库create功能可能略有不同,但希望可以帮助您入门...只要您选择使用Actions on Google's codelabs中引入的技术堆栈:Node.js,Dialogflow和Firebase