Actions-On-Google [Permission Intent] Получить местоположение / имя пользователя - PullRequest
0 голосов
/ 14 мая 2018
const agent = new WebhookClient({request, response});
const {WebhookClient} = require('dialogflow-fulfillment');
const {Text, Card, Image, Suggestion, Payload} = require('dialogflow-fulfillment');


let payload = {
          "systemIntent": {
            "intent": "actions.intent.PERMISSION",
            "data": {
              "@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec",
              "optContext": "To deliver your order",
              "permissions": [
                "NAME",
                "DEVICE_PRECISE_LOCATION"
              ]
            }
          }
        };
agent.add('PLACEHOLDER_FOR_PERMISSION');
agent.add(new Payload(PLATFORMS.ACTIONS_ON_GOOGLE, payload));

Простая полезная нагрузка для получения UserLocation и Name с использованием РАЗРЕШЕНИЕ intent

Ответ на вышесказанное я получаю

Чтобы доставить ваш заказ, мне нужно получить ваше имя и почтовый адрес от Google. Это нормально?

Выполнить намерение для этого намерения также устанавливается с событием actions_intent_PERMISSION в нем

Я пытался решить эту проблему в течение 2 дней, пытаясь запустить actions_intent_PERMISSION , используя фишки для предложений и т. Д., Но после этого ничего не происходит?

Где я иду не так, я не могу понять. Где-то есть какая-то глупая ошибка - пожалуйста, если кто-то может указать на это - очень поможет.

Спасибо

=========== РЕДАКТИРОВАТЬ ============ ИЗОБРАЖЕНИЯ ДЛЯ НАМЕРЕНИЙ ============

права доступа

ответ прав доступа с событием actions_intent_PERMISSION

edit: не могу вставлять изображения из-за точек. выше ссылки есть. спасибо

======================================= запрос-ответ json ========== ========= когда намерение разрешений запускается ниже, это запрос

{
  "responseId": "54a4be35-3d0b-4cc8-b036-46fab0d09361",
  "queryResult": {
    "queryText": "permissions",
    "action": "permissions",
    "parameters": {},
    "allRequiredParamsPresent": true,
    "fulfillmentMessages": [
      {
        "text": {
          "text": [
            ""
          ]
        }
      }
    ],
    "intent": {
      "name": "projects/projectid/agent/intents/95237653-0af0-4d0c-9101-0cd8ee0db186",
      "displayName": "permissions"
    },
    "intentDetectionConfidence": 1,
    "diagnosticInfo": {},
    "languageCode": "en"
  },
  "originalDetectIntentRequest": {
    "payload": {}
  },
  "session": "projects/projectid/agent/sessions/13213e7f-dba5-4d0c-979a-f626f7ac4691"
}

ответ об исполнении

{
  "conversationToken": "[]",
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "inputPrompt": {},
      "possibleIntents": [
        {
          "intent": "actions.intent.PERMISSION",
          "inputValueData": {
            "@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec",
            "permissions": [
              "NAME",
              "DEVICE_PRECISE_LOCATION"
            ],
            "optContext": "To locate you"
          }
        }
      ],
      "speechBiasingHints": [
        "$name-type",
        "$sports",
        "$gender"
      ]
    }
  ],
  "responseMetadata": {
    "status": {
      "message": "Success (200)"
    },
    "queryMatchInfo": {
      "queryMatched": true,
      "intent": "95237653-0af0-4d0c-9101-0cd8ee0db186"
    }
  }
}

Ответ симулятора для прав доступа Намерение

=============================================== ========================

Проблема устранена Примечания к сведению:

  1. Симулятор Actions-on-Google работает очень странно работает ли ваш webhook или нет
  2. Разрешение обещания было проблема - агент ждал обещания, которое будет решено до этого это передавалось в следующий раз
  3. Правильный способ проверить своего бота это опубликовать свой бот в ALPHA по каталогу помощника, а чем тестирование на симуляторе, потому что он очень нестабилен с точки зрения из вас никогда не может предсказать его поведение. Никогда не скажу вам исправлена ​​ошибка, которая должна быть отлажена и внезапно перестанет работать причина вообще
...