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")
那么它应该可以正常工作!
我正在尝试获取读写权限,以便用户可以从 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")
那么它应该可以正常工作!