我正在使用Alexa gem来使用AlexaWeb信息服务的UrlInfo web服务。我注册了AWIS服务,获得了secret_key_id和secret_access_key。
这是我的代码
@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无法验证提供的访问凭证):
我做错了什么?请帮助
我不能发表评论,因为我的声誉太低了,所以我发布了我认为可能是答案的内容。该代码会引发一个一般错误,告诉您亚马逊正在响应访问凭据错误,这可能意味着一系列的事情。我想这可能是因为当你在开发者控制台中设置技能时出现了问题,因为Alexa不会自动检查访问密钥来与服务器通信,如果这是你的目标的话。
如果你还没有,你需要做两件事。
- 在rails服务器上运行一个类似ngrok的https转发服务
- 制作一个自签名证书(或者购买一个),点击"自签名"按钮后,将certificate.pem文件的主体复制并粘贴到开发人员控制台中技能的SSL部分
在此之后,我建议注释掉该实例,并查看您的Alexa实例是否正在与服务器通信。希望这能让你朝着正确的方向前进。
我的问题是,由于我的银行的安全政策,亚马逊无法验证我为AWS帐户添加的信用卡详细信息。