«Возникла проблема с ответом на запрошенный навык» В консоли разработчика Alexa - PullRequest
0 голосов
/ 12 января 2019

СИТУАЦИЯ: Итак, я следовал короткому учебнику из 3 видео от sentdex на youtube под названием «Alexa Skills w / Python and Flask-Ask», части 1, 2 и 3. В основном, когда я запускаю этот навык, Алекса прочтет мне первые 10 заголовков с reddit.com / r / worldnews (к сожалению, не могу дать более 8 URL для этого поста).

ОШИБКА, КОТОРУЮ Я ИМЕЮ: Я выполнил все шаги и получаю эту ошибку, когда тестирую ее на сайте разработки Amazon Alexa, говоря: «Возникла проблема с ответом на запрошенный навык». Одна проблема у меня заключается в том, что консоль разработки alexa была обновлена ​​несколько месяцев назад и полностью отличается, поэтому я понятия не имею, сделал я что-то не так или нет. Все видео на YouTube, которые я видел, относятся к старой версии, в которой все по-другому. Я собираюсь описать, что именно я сделал, и, надеюсь, вы, ребята, могли бы указать, что я сделал не так.

Что я пробовал: Я также хотел бы упомянуть, что я пытался заменить содержимое функции get_headlines командой return, которая возвращает строку для alexa, которая говорит: «это работает». Но я получил то же сообщение об ошибке на сайте разработки. Итак, я предполагаю, что мой код в порядке, но, возможно, я неправильно настроил настройки в моей учетной записи alexa dev. Ниже я включил фотографии каждого шага, который я сделал для этой простой программы.

ТОЧНО ШАГИ, КОТОРЫЕ Я СДЕЛАЛ:

1) Я установил флягу, колбу-спрашиваю и unidecode с помощью установщика pip

2) Я скачал ngrok для размещения моего сайта

3) CODE: Это код, который я запустил (по понятным причинам забрал мое имя пользователя и пароль reddit). В нем нет ошибок, и домашняя страница работает нормально. Так что я думаю, что нет проблем с самим кодом.

from flask import Flask, render_template
from flask_ask import Ask, statement, question, session
import json     
import requests 
import time
import unidecode 

app = Flask(__name__) 
ask = Ask(app, "/big_reader") 

def get_headlines(): # DESCRIPTION: get_headlines function will grab the headlines from redit and then its going "stringify" all the headlines together
    # 1) LOG INTO REDDIT API
    user_pass_dict = {
        'user': 'ENTER_YOUR_REDDIT_USERNAME',#'ENTER_YOUR_USERNAME',
        'passwd': 'YOUR_REDDIT_PASSWORD',
        'api_type': 'json'
    }
    # Requesting a session from api
    sess = requests.Session()
    sess.headers.update( {'User-Agent': 'I am testing Alexa Here'} ) 
    sess.post('https://www.reddit.com/api/login', data=user_pass_dict) 
    time.sleep(1) 

    url = 'https://reddit.com/r/worldnews/.json?limit=10' 
    html = sess.get(url)
    data = json.loads(html.content.decode('utf-8'))
    titles = [] 
    for listing in data['data']['children']:
        titles.append( unidecode.unidecode(listing['data']['title']) ) 
    titles = '...'.join([i for i in titles]) 
    return titles

################################# ALEXA STUFF ###################################################################################################
@app.route('/') 
def homepage():
    return "This is the Homepage"
# A) ALEXA ASKS SOMETHING: 
@ask.launch 
def start_skill():
    welcome_message = 'Sup, You want some news?'
    return question(welcome_message)    

# B) MY RESPONSE: 
@ask.intent("YesIntent")
def share_headlines():
    headlines = get_headlines() 
    headline_msg = 'The current world news headlines are {}'.format(headlines) #string format the headlines?
    return statement(headline_msg)
@ask.intent("NoIntent")
def no_intent():
    bye_text = 'bye'
    return statement(bye_text)

# RUN
if __name__ == '__main__':
    app.run(debug=True)

4) ФОТОГРАФИИ КАК Я НАСТРОИЛ СВОЙ НАВЫК ALEXA: Вот 10 изображений, на которых в точности показано, как выглядит моя веб-страница для разработчиков alexa

https://ibb.co/ZdMdgGF <- мое намерение да </p>

https://ibb.co/4N4JygL <- окно редактора JSON моего навыка </p>

https://ibb.co/c2HDw8h <- Как выглядит мой интерфейсный экран </p>

https://ibb.co/BP6ck2L <- как выглядит мой ngrok после запуска: ngrok http 5000 </p>

https://ibb.co/3k5J7wZ <- копирование моего https-адреса ngrok в конечную точку alexa. </p>

https://imgur.com/H6QGWOo <- я даже попытался добавить "/ big_reader" в конце. </p>

https://ibb.co/3s3tVQH <- сборка прошла успешно </p>

https://ibb.co/wgF7GQ4 <- я попытался запустить навык большого читателя и получил ошибку </p>

1 Ответ

0 голосов
/ 18 января 2019

У меня была такая же проблема.

Я исправил это путем понижения криптографии до 2.1.4 с pip install cryptography==2.1.4

...