2017-08-09 24 views
1

我正在開發與Home的Home Control集成,但無法讓Google Home在任何測試期間調用我的對話URL。Google上的操作永遠不會呼叫我的履行端點URL

由於無法使用模擬器測試家庭控制操作,因此我已將相同Google用戶設置爲Google家庭設備,Google手機上的Google Home應用和Google項目操作。

我已經運行gactions test --action-package action.json --package MYPACKAGE沒有問題。

當試圖測試項目時,我打開Goog​​le Home應用程序,並可以在Home Control> Add Devices下看到'[測試]我的應用程序'。這將我帶到OAuth2流程。

OAuth2服務器似乎工作正常,我可以從日誌中看到谷歌端正在成功檢索access_token。一切工作按照文檔:https://developers.google.com/actions/identity/oauth2-code-flow

我認爲下一步應該是「Google上的操作」以SYNC意圖呼叫我的對話端點URL。但是,我在服務器上看不到這樣的請求,並且Google Home應用顯示一個對話框,指出「出錯了,請重試」

再次嘗試是而不是幫助。

這是我在它的全部action.json:

{ 
    "actions": [{ 
    "description": "testing...", 
    "name": "actions.devices", 
    "deviceControl": {}, 
    "fulfillment": { "conversationName": "automation" } 
    }], 
    "conversations": { 
    "automation" : { 
     "name": "automation", 
     "url": "https://5ca2a6b9.ngrok.io/googleToTesting" 
    } 
    } 
} 

任何幫助將不勝感激。

編輯17. 2017年8月

作爲一種變通方法,打開瀏覽器的URL https://assistant.google.com/services/auth/handoffs/auth/start?provider=MYPROJECTID_dev&return_url=https://some.useless.url/和使用的瀏覽器會莫名其妙的直通流的OAuth使未來的OAuth流初始化從谷歌主頁應用未來成功。

(請注意:谷歌項目ID的操作之後,神奇_dev -suffix。)

+0

考慮到這個問題可能與OAuth2-final調用有關,我將OAuth2服務器和谷歌端改爲使用隱式流。同樣的錯誤。 – mtkopone

+0

根據README.md中的說明,我嘗試設置Google在https://github.com/actions-on-google/actionssdk-smart-home-nodejs中給出的示例。完全相同的問題。唯一剩下要嘗試的是建立一個完全獨立的谷歌帳戶的一切,因爲這是唯一保持不變... – mtkopone

回答

0

通過修改conversations對象嘗試迫使action.json版本號爲2:

"conversations": { 
    "automation" : { 
    "name": "automation", 
    "url": "https://5ca2a6b9.ngrok.io/googleToTesting", 
    "fulfillmentApiVersion": 2 
    } 
} 
+0

我試過這個,並且運行'gactions update ...'和'gactions test ...'幾次,但它沒有效果。仍然得到相同的錯誤。 – mtkopone

1

我剛纔從「Google支持上的操作」收到以下內容:

存在與action.devices.SYNC請求未觸發相關的錯誤。 目前Eng團隊正在努力爲開發人員提供解決方案或解決方法。

只要我有他們的更新,我會在這裏發佈。