Возможно ли получить доступ к API профиля клиента с помощью редактора кода Cloud9 в веб-консоли AWS Lambda? Если да, то как? - PullRequest
0 голосов
/ 07 ноября 2018

Прежде всего, я новичок в развитии навыков Alexa, поэтому мне нужно многому научиться. Я ударился головой о стол, пытаясь понять это. Я нашел различные учебные пособия и просмотрел информацию, предоставленную Amazon для доступа к API профиля клиента с помощью навыка Alexa, но все еще не смог получить номер телефона клиента.

Я использую встроенный редактор кода консоли AWS (Cloud9). В большинстве, если не во всех инструкциях, используются что-то вроде модулей «axios», «request» или «https», которые я не считаю возможным, если вы не используете ask-cli (пожалуйста, исправьте меня, если я ошибаюсь). Кроме того, я следовал руководству по первоначальному созданию навыка, который позволил мне использовать Skillinator.io для создания лямбда-шаблона AWS на основе JSON навыка в консоли разработчика Amazon. Формат кода в учебных руководствах API профиля клиента не совпадает с тем, который был предоставлен инструментом Skillinator.io. То, как настраиваются обработчики Intent, отличается, и я полагаю, что из-за этого возникает путаница. Вот пример:

Код Skillinator.io:

const handlers = {
    'LaunchRequest': function () {
        welcomeOutput = 'Welcome to the Alexa Skills Kit!';
        welcomeReprompt = 'You can say, Hello!';
        this.emit(':ask', welcomeOutput, welcomeReprompt);
    },
};

Код учебника:

const LaunchRequestHandler = {
  canHandle(handlerInput) {
    return handlerInput.requestEnvelope.request.type === 'LaunchRequest';
   },
   handle(handlerInput) {
      const speechText = 'Welcome to the Alexa Skills Kit!';

      return handlerInput.responseBuilder
        .speak(speechText)
        .reprompt(speechText)
        .withSimpleCard('Hello World', speechText)
        .getResponse();
   }
 };

Может кто-нибудь пролить свет и помочь мне понять, почему существует разница в способах форматирования обработчиков и как (если возможно) создать запрос к API профиля клиента?

Я уже выполнил шаги для необходимых разрешений / привязки аккаунта.

Заранее спасибо.

EDIT:

Я узнал, что разница в синтаксисе обусловлена ​​различными версиями sdk, Skillinator - «alexa-sdk» или v1, а также различными учебниками, использующими «ask-sdk» или v2.

Мне по-прежнему любопытно, возможно ли использование таких модулей, как 'axios' или 'request' через встроенный редактор кода в консоли AWS, или возможно ли получить доступ к API профиля клиента с помощью sdk v1?

1 Ответ

0 голосов
/ 08 ноября 2018

Я решил ответить на вопрос с тем, что я узнал, в надежде, что другие не будут тратить столько времени, сколько я пытаюсь понять.

В принципе, можно использовать вышеупомянутые модули в sdk v1 с помощью встроенного редактора кода консоли AWS, но вы должны создать файл .zip своего кода и все необходимые модули и загрузить этот .zip в Lambda.

Я отредактировал свой первоначальный ответ, включив в него свои выводы о разнице в синтаксисе в обработчиках намерений.

Из того, что я могу сказать (и, пожалуйста, исправьте меня, если я ошибаюсь), невозможно получить доступ к API профиля клиента с помощью sdk v1.

...