ошибка: ошибка типа: handlerInput.serviceClientFactory.getReminderManagementServiceClient не является функцией

#alexa-skills-kit

#alexa-skills-kit

Вопрос:

Я пытаюсь создать напоминание в Alexa, чтобы оно предупреждало меня через x минут, но продолжаю получать getReminderManagementServiceClient не является функцией, хотя я проверил индексный файл и обновил SDK.

 const client = handlerInput.serviceClientFactory.getReminderManagementServiceClient();

var date = new Date();

var timestamp = date.getTime();

const reminderRequest = {
    "trigger": {
      "type" : "SCHEDULED_RELATIVE",
        "offsetInSeconds" : "30"
            },
                "alertInfo": {
                    "spokenInfo": {
                        "content": [{
                            "locale": event.request.locale,
                            //"locale": "en-US",
                            "text": `The price of ${companyName} now is ${latestPrice}`
                        }]
                    }
                },
                "pushNotification" : {
                    "status" : "ENABLED"
                }
       }
      const reminderResponse = await client.createReminder(reminderRequest);
      console.log(JSON.stringify(reminderResponse));
  

error: TypeError: handlerInput.serviceClientFactory.getReminderManagementServiceClient is not a function

Ответ №1:

Ваш ответ помог мне. Мне нужно было обновить sdk. Вот несколько вещей, которые мне также пришлось сделать, чтобы заставить его работать. Возможно, это может вам помочь

Используете ли вы ask-sdk-core ?

 const Alexa = require('ask-sdk-core');
  

У вас есть .withApiClient(new Alexa.DefaultApiClient()) ? https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs/issues/356

 const skillBuilder = Alexa.SkillBuilders.custom();
exports.handler = skillBuilder
    .addRequestHandlers(...)
    .withApiClient(new Alexa.DefaultApiClient())
    .withSkillId(...)
    .lambda();
  

Удачи!