Swift 中的 SMAPI Alexa 读取范围

SMAPI Alexa Read Scope in Swift

我正在尝试获取读写权限,以便用户可以从 ios 应用程序中查看他们的 alexa 技能。

我成功地让用户使用他们的亚马逊帐户登录(通过 LWA iOS SDK)。当我将配置文件范围添加到身份验证过程时,我在尝试向技能端点发出获取请求时收到此错误:

"User has not consented to this operation."

所以我添加了 alexa::ask 范围,所以我获得了正确的权限:

let scopeData_alexa: [AnyHashable:Any] = ["productID" : AmazonManager.shared.productId, "productInstanceAttributes": [ "deviceSerialNumber": uniqueDeviceSerialNumber]]

let readPermissions = AMZNScopeFactory.scope(withName: "alexa::ask:skills:readwrite", data: scopeData_alexa)

当我尝试对用户进行身份验证时,我收到以下响应:

Error Domain=AMZNLWAErrorDomain Code=2 "(null)" UserInfo={AMZNLWAErrorNonLocalizedDescription=The+scope+data+list+you+provided+is+invalid+for+your+request}

如上所说,正常登录就可以了。当我向用户询问 Alexa 语音服务时,范围数据也在工作。

我必须改变什么?有什么解决办法吗?

修复超级容易。

只需删除数据参数

let readPermissions = AMZNScopeFactory.scope(withName: "alexa::ask:skills:readwrite")

那么它应该可以正常工作!