【问题标题】:Amazon Echo - Alexa - ContextClient is null developing skill with Lambda in node.jsAmazon Echo - Alexa - ContextClient 在 node.js 中使用 Lambda 开发技能是空的
【发布时间】:2016-08-19 14:02:47
【问题描述】:

我正在为 Amazon Echo 开发一项新技能,当我需要获取 clientContext 以验证应用程序中此 Amazon Echo 的客户端 ID 是什么时,我遇到了一些问题。

有人知道它是如何正常工作的吗?每次我在context.clientContext 中收到undefined 值。

我在 Alexa 开发者面板中完成了这个过程:

1) 将技能创建为“自定义交互模型”

2) 正确填写交互模型

3) 我与 Lambda 函数链接的端点

4) 我已将Yes 勾选为“您是否允许用户创建帐户或链接到您的现有帐户?”问题。

在 lambda 函数中我做到了:

1) 使用 Lambda 中 Alexa 的“颜色”示例

2) 在第一行中,我放置了日志以验证到达的信息是什么。

像这样:

console.log("event.session.application.applicationId=" + event.session.application.applicationId);
console.log('clientContext =', context.clientContext); 
console.log('context =', context);

数据是:

clientContext = undefined

{ callbackWaitsForEmptyEventLoop: [Getter/Setter], done: [Function], 成功:[Function],失败:[Function],logGroupName: '/aws/lambda/color', logStreamName: '2016/08/19/[$LATEST]7d66fec34f604692ad4c0bd1d138ae51',函数名称: '颜色',memoryLimitInMB:'128',functionVersion:'$LATEST', getRemainingTimeInMillis:[函数],invokeid: '14c606ef-6614-11e6-940d-cd0e175f3bda',awsRequestId: '14c606ef-6614-11e6-940d-cd0e175f3bda',调用的FunctionArn: 'arn:aws:lambda:us-east-1:...........86:function:color' }

我在 Lambda 文档中读到此值可能为 null,但此值为 null 的原因是什么?

非常感谢。

【问题讨论】:

  • 为什么需要验证客户端ID?您是否要验证链接用户是谁?
  • 是的。验证链接的人。

标签: node.js amazon-web-services aws-lambda alexa alexa-skills-kit


【解决方案1】:

您可以使用您的服务器在帐户关联时返回给亚马逊的 OAuth 令牌来确定关联用户是谁。

在一项技能中,该令牌会在会话中由亚马逊传递给您(如果存在)。 例如。在 javascript Lambda 中:session.user.accessToken

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    相关资源
    最近更新 更多