2017-02-05 6 views
0

Я использую Alexa gem для использования веб-службы UrlInfo веб-информационной службы Alexa. Я подписался на услугу AWIS и получил secret_key_id и secret_access_key.Alexa :: ResponseError при использовании Alexa gem

Вот мой код

@client = Alexa::Client.new(access_key_id: ENV['AWIS_KEY_ID'], secret_access_key: ENV['AWIS_ACESS_KEY']) 
url_info = @client.url_info(url: params[:alexa_rank][:given_url]) 

, но я получаю

Alexa :: ResponseError (AWS не смог подтвердить получение доступа мандатную):

Что я делаю неправильно? Пожалуйста, помогите

+0

Вы уверены, что переменные env присутствуют? вы уверены, что параметры присутствуют? – trueinViso

+0

Да, в моей консоли rails я могу видеть переменные env, а также параметры –

ответ

1

Моя проблема заключалась в том, что Amazon не смог проверить данные кредитной карты, которые я добавил для своей учетной записи AWS из-за политики безопасности моего банка.

1

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

Если вы еще этого не сделали, вам нужно сделать две вещи.

  1. Получить услугу переадресации https, например ngrok, работающую вместе с сервером rails.
  2. Сделайте self-signed certificate (или приобретите его) и скопируйте + вставьте тело вашего файла certificate.pem в раздел SSL навыка в консоли разработчика после нажатия кнопки «самозаверяющий».

После этого я рекомендую прокомментировать этот экземпляр и увидеть, если ваш экземпляр Alexa взаимодействует с вашим сервером. Надеюсь, что ты укажешь в правильном направлении.