2017-07-29 32 views
1

我使用api.ai創建代理並使用PHP腳本作爲webhook。 The documentation沒有說明如何去做,但我想向用戶的粗略位置請求權限,以便他們不必爲請求提供位置。如何在API.ai中請求用戶的位置?

我試過回顯他們提到的JSON,並將其作爲默認受歡迎意圖的自定義有效內容放入,但這兩者似乎都沒有提示我允許使用我的位置。

我該如何要求用戶獲取他們的位置權限?

編輯:如果我把我的PHP腳本到intent.welcome具有以下JSON響應:

{ 
    "data": { 
     "google": { 
      "expectUserResponse": true, 
      "systemIntent": { 
       "intent": "actions.intent.PERMISSION", 
       "data": { 
        "@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec", 
        "optContext": "To provide an accurate experience, ", 
        "permissions": ["DEVICE_PRECISE_LOCATION"] 
       } 
      } 
     } 
    } 
} 

的應用程序問我:「爲了提供準確的經歷,我就需要得到你的街道地址。來自Google,那可以嗎?「

但是,如果我說「是」,那麼應用程序會不斷詢問諸如「對不起,你能再說一遍嗎?」,所以我實際上無法讓它做任何事情。

回答

2

您需要創建一個新的設置爲actions_intent_PERMISSION的事件。 (請參閱下圖。)

當此事件被觸發時,您的webhook將在請求主體中的JSON originalRequest.data.device.location字段中填充您請求的位置信息。

enter image description here

+1

啊,那是少了什麼!我試過'actions.intent.PERMISSION',但它告訴我事件名稱是無效的。我也沒有看到它在自動完成,所以我不知道它是否有效。謝謝! – Grayda

相關問題