带有帐户关联选项的Google Home应用

时间:2018-10-24 05:45:39

标签: dialogflow actions-on-google google-home

我正在使用DialogFlow开发一个Google家庭扬声器应用。

我的情况是,如果用户登录,则该应用将显示用户的特定信息,或者如果用户未登录,则应显示常规信息。

我填写了帐户链接部分(链接类型:OAuth)

(DialogFlow->集成-> Google助手-> MANAGE ASSISTANT APP->帐户链接)

我还在DialogFlow的Google助手集成选项窗口中取消选中了“需要登录”。

我的意图代码使用的是conv.ask(),而不是conv.close()

但是当我在模拟器上运行测试时 它表明未链接,对话结束后,您可以使用Google Home应用设置帐户。

我要做的是即使用户尚未完成帐户关联,该用户也可以使用该应用程序。 (用户登录应该是可选的,而不是强制性的)

有什么想法吗?

谢谢。

已编辑

我正在使用“默认欢迎意图”并选中“为此意图启用webhook调用”。

我的意图看起来像这样。在设置帐户关联之前,效果很好。

app.intent('Default Welcome Intent', conv => {
  conv.ask('Welcome');
});

和我的屏幕截图。 Screenshot of Actions on Google simulator  (很抱歉,屏幕截图中没有英文文本。它告诉您需要帐户链接并终止了对话。)

这是Google模拟器的“调试”标签上“操作”中的日志消息。

{
  "request": {
    "response": "テスト用アプリ とリンクしていません。Google Home アプリからテスト用アプリ と Google アカウントをリンクできます。",
    "expectUserResponse": false,
    "conversationToken": "GidzaW11bG...",
    ...
    "debugInfo": {
      "sharedDebugInfoList": [
        {
          "name": "Account Linking Url",
          "debugInfo": "https://gala-demo.appspot.com/app?login_hint=..." // removed sensitive information from the string
          "subDebugEntryList": []
        }
      ]
    },
    "visualResponse": {
      "visualElementsList": [],
      "suggestionsList": [],
      "agentLogoUrl": ""
    },
    "clientError": 0,
    "is3pResponse": 1
  },
  "response": {
    "response": "テスト用アプリ とリンクしていません。Google Home アプリからテスト用アプリ と Google アカウントをリンクできます。",
    "expectUserResponse": false,
    "conversationToken": "GidzaW11bG...",
    "visualResponse": {
      "visualElementsList": [],
      "suggestionsList": [],
      "agentLogoUrl": ""
    },
    "clientError": 0,
    "is3pResponse": 1
  },
  "debug": {
    "sharedDebugInfoList": [
      {
        "name": "Account Linking Url",
        "debugInfo": "https://gala-demo.appspot.com/app?login_hint=...", // removed sensitive information from the string
        "subDebugEntryList": []
      }
    ]
  },
  "errors": []
}

1 个答案:

答案 0 :(得分:1)

我发现,当我从DialogFlow的集成菜单中运行模拟器时, 模拟器从我设置了“需要登录”的旧版本开始。 当我从“ Google TEST上的操作”部分运行模拟器时,它将以当前设置开始(不需要登录)。

You can check version from the simulator screen