【问题标题】:Dialogflow: Programmatically set Fulfillment URL, Google Assistant Integration SettingsDialogflow:以编程方式设置 Fulfillment URL、Google Assistant 集成设置
【发布时间】:2018-09-19 09:51:08
【问题描述】:

我正在努力自动部署我的代理,但我在以编程方式执行某些步骤时遇到了问题。

Dialogflow Fulfillment URL 我能够使用 Dialogflow Enterprise API:https://cloud.google.com/dialogflow-enterprise/docs/reference/rest/v2beta1/projects.agent/exporthttps://cloud.google.com/dialogflow-enterprise/docs/reference/rest/v2beta1/projects.agent/restore 以及 agentContent 让导出/恢复工作。 但是,由于 agentContent 是一个编码字符串,因此无法在恢复之前替换 Fulfillment URL。有没有办法通过 API 更新 Fulfillment URL?

Dialogflow Google 助理集成设置 与 Google Assistant 集成设置相同的问题。因为这是 Dialogflow 控制台的一部分,所以我将其视为代理的一部分。理想情况下,我们可以以编程方式创建代理的所有部分。这是可用的还是在路线图上?

Google Actions:动作发现和更新 最后,还有 Google Actions 控制台的 Action Discovery and Update 部分,我们在其中启用了推送或每日更新的意图。有没有办法以编程方式做到这一点?

谢谢。

【问题讨论】:

    标签: actions-on-google dialogflow-es google-assistant-sdk


    【解决方案1】:

    agent_content 确实是 zip 文件的编码字节字符串。但是可以在编辑导出的内容之后再压缩它,以编程方式生成字节字符串。

    这里有一个 python 代码 sn-p 可能会有所帮助:-

    with open("skeleton_bot/agent.json", "r") as jsonFile:
        data = json.load(jsonFile)
    
    data['webhook']['url'] = "https://yoururl.com"
    
    with open("skeleton_bot/agent.json", "w") as jsonFile:
        json.dump(data, jsonFile)
    
    shutil.make_archive('skeleton_bot', 'zip', 'skeleton_bot')
    
    with open("../config/skeleton_bot.zip", 'rb') as file_data:
        agent_content = file_data.read()
    

    然后您可以使用此字节字符串导入/恢复到对话流

    【讨论】:

      【解决方案2】:

      无法通过 API 更新履行 URL。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-09
        相关资源
        最近更新 更多