提取到 alexa 技能激活 api 不起作用
Fetch to alexa skill activation api does not work
我正在创建一个带有帐户链接的 Alexa 技能。我设法获得了访问令牌,但现在我尝试调用 Alexa 技能激活 API,但我总是收到错误消息。
我将我的代码和我的错误放在这里:
fetch(`https://api.amazonalexa.com/v1/users/~current/skills/{SkillId}/enablement`, {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${access_token}`
},
body: JSON.stringify({
stage: "development",
accountLinkRequest: {
redirectUri: "https://my.url.com/alexa/",
authCode: code,
type: "AUTH_CODE"
}
})
}).then(res=>res.json()).then(response=>{
alert(JSON.stringify(response));
}).catch(err=>alert(err));
我该怎么办?
您将 react 添加为标签,而 fetch 更传统地是浏览器 API(尽管它可以导入到节点中),所以我猜您可能在浏览器中执行此操作。
这会导致 CORS 问题,因为在浏览器中使用提取将始终向提取请求添加来源 header,从而触发 CORS 检查。这就是为什么许多在 cURL 中工作的请求会因 fetch 而中断。
文档明确指出此 API 调用应来自 'back-end server,',因此如果它是 browser-based 提取,则您可能有罪魁祸首。
我正在创建一个带有帐户链接的 Alexa 技能。我设法获得了访问令牌,但现在我尝试调用 Alexa 技能激活 API,但我总是收到错误消息。 我将我的代码和我的错误放在这里:
fetch(`https://api.amazonalexa.com/v1/users/~current/skills/{SkillId}/enablement`, {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${access_token}`
},
body: JSON.stringify({
stage: "development",
accountLinkRequest: {
redirectUri: "https://my.url.com/alexa/",
authCode: code,
type: "AUTH_CODE"
}
})
}).then(res=>res.json()).then(response=>{
alert(JSON.stringify(response));
}).catch(err=>alert(err));
我该怎么办?
您将 react 添加为标签,而 fetch 更传统地是浏览器 API(尽管它可以导入到节点中),所以我猜您可能在浏览器中执行此操作。
这会导致 CORS 问题,因为在浏览器中使用提取将始终向提取请求添加来源 header,从而触发 CORS 检查。这就是为什么许多在 cURL 中工作的请求会因 fetch 而中断。
文档明确指出此 API 调用应来自 'back-end server,',因此如果它是 browser-based 提取,则您可能有罪魁祸首。