簡體   English   中英

Google智能家居應用測試操作失敗

[英]Actions on Google smart home app test fail

我正在為Google Home開發一個智能家居應用程序,以控制智能設備。 我使用gactions推送我的應用進行測試:

gactions test --action_package action.json --project <project-name>

直到今天一切正常,測試命令返回錯誤:

Pushing the app for the Assistant for testing...
ERROR: Failed to test the app for the Assistant
ERROR: Invalid JSON payload received. Unknown name "device_control" at 'preview_
action_package.action_package.actions[0]': Cannot find field.
Field Violations:
#  Field                                             Description
1  preview_action_package.action_package.actions[0]  Invalid JSON payload receiv
ed. Unknown name "device_control" at 'preview_action_package.action_package.acti
ons[0]': Cannot find field.
2017/05/26 09:39:10 Server did not return HTTP 200

這是我的action.json,自創建以來未更改:

{
    "actions": [{
    "name": "actions.devices",
    "deviceControl": {
    },
    "fulfillment": {
      "conversationName": "automation"
    }
  }],
    "conversations": {
      "automation": {
        "name": "automation",
        "url": "<my web endpoint>"
      }
    }
}

我的action.json中沒有device_control。 經過一番嘗試后,解析器似乎將“ C”視為“ _c”。

這是Google的問題嗎?

Google的JSON處理通常將camelCaseNaming和underscore_naming視為等效。 在這種情況下, deviceControldevice_control引用的是同一件事。

用於當前(如5月18日2017)規范操作在動作包不包括deviceControl為有效的字段。 我可以找到的關於deviceControl唯一參考是關於操作包的描述性文檔,但類似地留為空白,此處未進行描述。

您可能可以安全地刪除該條目。

只需刪除:

“ deviceControl”:{},

在您的操作包中,那么它將起作用。

我只是驗證了這種方式的工作原理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM