"There was a problem with the requested skill's response" 在 Alexa 开发者控制台中
"There was a problem with the requested skill's response" In Alexa Developer Console
情况:
所以我在 youtube 上观看了 senddex 的 3 个视频短教程,名为 "Alexa Skills w/ Python and Flask-Ask" 第 1、2 和 3 部分。基本上当我 运行 这个技能时,alexa 会读我 reddit.com 的前 10 个标题/r/worldnews(不幸的是不能给这个 URL 超过 8 个 URL)。
我遇到的错误:
我遵循了所有步骤,但在 Amazon Alexa 开发网站上测试它时,我不断收到此错误消息:"There was a problem with the requested skill's response"。我遇到的一个问题是 alexa 开发控制台已在几个月前更新,并且完全不同,所以我不知道我是否做错了什么。我看过的所有 youtube 视频都是旧版本,它有不同的做事方式。我将准确概述我所做的事情,希望你们能指出我做错了什么。
我尝试了什么:
我还想提一下,我已经尝试用 return 命令替换 get_headlines 函数的内容,return 是 alexa 的一个字符串,例如:"it works"。但是我在开发站点上收到了相同的错误消息。所以我猜我的代码没问题,但我可能在我的 alexa dev 帐户中配置了错误的设置。下面,我附上了我为这个简单程序所做的每一步的图片。
我采取的确切步骤:
1) 我已经安装了 flask,flask-ask,并使用 pip 安装程序进行了 unidecode
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 SKILL 的图片: 这里有 10 张图片,准确显示了我的 alexa 开发者网页的样子
https://ibb.co/ZdMdgGF <-- 我的意图
https://ibb.co/4N4JygL <-- 我技能的JSON编辑界面
https://ibb.co/c2HDw8h <-- 我的界面屏幕是什么样的
https://ibb.co/BP6ck2L <--我的 ngrok 如何处理 运行ning: ngrok http 5000
https://ibb.co/3k5J7wZ <--正在将我的 ngrok https 地址复制到 alexa 端点。
https://imgur.com/H6QGWOo <--我什至尝试在它的末尾添加“/big_reader”。
https://ibb.co/3s3tVQH <--构建成功
https://ibb.co/wgF7GQ4 <--我尝试启动大 reader 技能但出现错误
我遇到了同样的问题。
我通过 pip install cryptography==2.1.4
将加密降级到 2.1.4 来修复它
我在 Raspberry Pi 上托管自己的技能后端,使用 ngrok 在 Amazon 和本地主机之间创建隧道。对我来说,当我创建并登录到我的 ngrok 帐户,将 ./ngrok authtoken 剪切并粘贴到 Linux 命令行,然后 运行 创建授权令牌 yaml 文件的命令时,这个问题就消失了。
情况: 所以我在 youtube 上观看了 senddex 的 3 个视频短教程,名为 "Alexa Skills w/ Python and Flask-Ask" 第 1、2 和 3 部分。基本上当我 运行 这个技能时,alexa 会读我 reddit.com 的前 10 个标题/r/worldnews(不幸的是不能给这个 URL 超过 8 个 URL)。
我遇到的错误: 我遵循了所有步骤,但在 Amazon Alexa 开发网站上测试它时,我不断收到此错误消息:"There was a problem with the requested skill's response"。我遇到的一个问题是 alexa 开发控制台已在几个月前更新,并且完全不同,所以我不知道我是否做错了什么。我看过的所有 youtube 视频都是旧版本,它有不同的做事方式。我将准确概述我所做的事情,希望你们能指出我做错了什么。
我尝试了什么: 我还想提一下,我已经尝试用 return 命令替换 get_headlines 函数的内容,return 是 alexa 的一个字符串,例如:"it works"。但是我在开发站点上收到了相同的错误消息。所以我猜我的代码没问题,但我可能在我的 alexa dev 帐户中配置了错误的设置。下面,我附上了我为这个简单程序所做的每一步的图片。
我采取的确切步骤:
1) 我已经安装了 flask,flask-ask,并使用 pip 安装程序进行了 unidecode
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 SKILL 的图片: 这里有 10 张图片,准确显示了我的 alexa 开发者网页的样子
https://ibb.co/ZdMdgGF <-- 我的意图
https://ibb.co/4N4JygL <-- 我技能的JSON编辑界面
https://ibb.co/c2HDw8h <-- 我的界面屏幕是什么样的
https://ibb.co/BP6ck2L <--我的 ngrok 如何处理 运行ning: ngrok http 5000
https://ibb.co/3k5J7wZ <--正在将我的 ngrok https 地址复制到 alexa 端点。
https://imgur.com/H6QGWOo <--我什至尝试在它的末尾添加“/big_reader”。
https://ibb.co/3s3tVQH <--构建成功
https://ibb.co/wgF7GQ4 <--我尝试启动大 reader 技能但出现错误
我遇到了同样的问题。
我通过 pip install cryptography==2.1.4
我在 Raspberry Pi 上托管自己的技能后端,使用 ngrok 在 Amazon 和本地主机之间创建隧道。对我来说,当我创建并登录到我的 ngrok 帐户,将 ./ngrok authtoken 剪切并粘贴到 Linux 命令行,然后 运行 创建授权令牌 yaml 文件的命令时,这个问题就消失了。