【问题标题】:Amazon Clouddrive API Android, invalid_scope error?Amazon Clouddrive API Android,invalid_scope 错误?
【发布时间】:2015-11-29 12:14:04
【问题描述】:

大家好,我遇到了这个奇怪的错误。我尝试使用我的应用程序登录亚马逊云驱动器,但我得到了 invalid_scope?我一直在寻找几个小时,我无法弄清楚。这是踢球者。我正在使用示例亚马逊云应用程序。我只是把它变成了一个库并更新了密钥。我可以很好地运行示例应用程序,没有问题,登录没有问题。然后我从完整的应用程序中运行它,它会打开一个格式错误的 URL。有没有可能是因为没有提交白名单请求?我可能忘记了,但我不需要节点访问权限。奇怪的是它前几天还在工作。

我说的是这个样本。 api中的那个。 https://developer.amazon.com/public/apis/experience/cloud-drive/content/sdk-android-building-file-explorer 没有代码可以复制和粘贴,因为它是这段代码。当我按下登录时,它会尝试在我的浏览器中打开以下地址。

amzn://com.appname.reader?error_description=lwa-invalid-parameter-bad-scope&state=clientId%3Damzn1.application-oa2-%26redirectUri%3Damzn%3A%2F%2Fcom.appname.reader%26clientRequestId% &error=invalid_scope

我在成功和失败日志的输出之间逐行检查。一切看起来都不错。除了它得到错误的答复外,在调试器中一步一步地思考,范围与我在成功案例中的范围相同。

我会注意到,唯一的区别是今天亚马逊要求提供徽标和指向某个页面的链接。 有任何想法吗?我真的被困住了。谢谢!

11-29 01:15:08.607 5788-5788/com.appname.reader I/com.amazon.identity.auth.device.authorization.api.AmazonAuthorizationManager: com.appname.reader calling authorize with Activity: scopes=[clouddrive:read, clouddrive:write, profile]
11-29 01:15:08.617 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.AbstractAppIdentifier: isAPIKeyValid : packageName=com.appname.reader
11-29 01:15:08.617 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.AbstractAppIdentifier: getAppInfo : packageName=com.appname.reader
11-29 01:15:08.617 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.AbstractAppIdentifier: Finding API Key for com.appname.reader
11-29 01:15:08.617 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.utils.ThirdPartyResourceParser: Attempting to parse API Key from assets directory
11-29 01:15:08.617 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.APIKeyDecoder: Begin decoding API Key for packageName=com.appname.reader
11-29 01:15:08.637 5788-6001/com.appname.reader D/com.amazon.identity.auth.device.appid.APIKeyDecoder.PII: APIKey:<obscured>
11-29 01:15:08.637 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.APIKeyDecoder: num sigs = 1
11-29 01:15:08.637 5788-6001/com.appname.reader D/com.amazon.identity.auth.device.appid.APIKeyDecoder.PII: Signature checking.:<obscured>
11-29 01:15:08.637 5788-6001/com.appname.reader D/com.amazon.identity.auth.device.appid.APIKeyDecoder.PII: Fingerpirint checking:<obscured>
11-29 01:15:08.637 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.APIKeyDecoder: scopes has no mapping in json, returning null array
11-29 01:15:08.637 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.APIKeyDecoder: perm has no mapping in json, returning null array
11-29 01:15:08.637 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.AbstractAppIdentifier: getAppInfo : packageName=com.appname.reader
11-29 01:15:08.637 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.AbstractAppIdentifier: Finding API Key for com.appname.reader
11-29 01:15:08.637 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.utils.ThirdPartyResourceParser: Attempting to parse API Key from assets directory
11-29 01:15:08.637 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.APIKeyDecoder: Begin decoding API Key for packageName=com.appname.reader
11-29 01:15:08.647 5788-6001/com.appname.reader D/com.amazon.identity.auth.device.appid.APIKeyDecoder.PII: APIKey:<obscured>
11-29 01:15:08.647 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.APIKeyDecoder: num sigs = 1
11-29 01:15:08.647 5788-6001/com.appname.reader D/com.amazon.identity.auth.device.appid.APIKeyDecoder.PII: Signature checking.:<obscured>
11-29 01:15:08.647 5788-6001/com.appname.reader D/com.amazon.identity.auth.device.appid.APIKeyDecoder.PII: Fingerpirint checking:<obscured>
11-29 01:15:08.647 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.APIKeyDecoder: scopes has no mapping in json, returning null array
11-29 01:15:08.647 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.appid.APIKeyDecoder: perm has no mapping in json, returning null array
11-29 01:15:08.657 5788-6001/com.appname.reader D/com.amazon.identity.auth.device.datastore.DatabaseHelper.PII: DatabaseHelper created:<obscured>
11-29 01:15:08.657 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.authorization.ThirdPartyServiceHelper: Inside getRemoteAndroidService AsyncTask - Attempting remote service
11-29 01:15:08.657 5788-6001/com.appname.reader D/com.amazon.identity.auth.device.authorization.ThirdPartyServiceHelper: getAuthorizationServiceInstance
11-29 01:15:08.667 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.authorization.ThirdPartyServiceHelper: Number of services found : 0
11-29 01:15:08.667 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.authorization.ThirdPartyServiceHelper: Number of MAP services to compare = 0
11-29 01:15:08.667 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.authorization.ThirdPartyServiceHelper: Returning no service to use
11-29 01:15:08.667 5788-6001/com.appname.reader I/com.amazon.identity.auth.device.authorization.ThirdPartyServiceHelper: Unbinding Highest Versioned Service
11-29 01:15:08.677 5788-6001/com.appname.reader D/com.amazon.identity.auth.device.authorization.AuthorizationHelper.PII: Created UUID for request:<obscured>
11-29 01:15:08.677 5788-5788/com.appname.reader D/com.amazon.identity.auth.device.authorization.AuthorizationHelper.PII: Generating Redirect URI:<obscured>
11-29 01:15:08.677 5788-5788/com.appname.reader D/com.amazon.identity.auth.device.authorization.AuthorizationHelper.PII: Generating OAUTH2 URL:<obscured>
11-29 01:15:08.677 5788-5788/com.appname.reader I/com.amazon.identity.auth.device.authorization.AuthorizationHelper: Starting External Browser 

【问题讨论】:

  • 亚马逊已经忽略了我的电子邮件。经过数周的寻找,据我所知,他们搞砸了白名单。当我更改我的应用程序以使用他们的路径和誓言令牌并且一切正常时,我得出了这个结论。尝试新的安全配置文件并重做白名单。如果这些笨蛋能回复他们的电子邮件就好了,尤其是我们是付费客户。

标签: android amazon-web-services amazon amazon-clouddrive


【解决方案1】:

我实际上不得不直接与亚马逊交谈。他们已经更新了他们的 API。原来..忘了...更新他们的例子和网站。他们决定取消读取权限,现在您需要 clouddrive:read_all。

 public static final String[] APP_AUTHORIZATION_SCOPES = {
        "clouddrive:read_all",
         ApplicationScope.CLOUDDRIVE_WRITE,
         "profile"};

【讨论】:

  • 显然需要将他自己的应用列入白名单才能使用clouddrive: 范围(它们在此处汇总:developer.amazon.com/public/apis/experience/cloud-drive/content/…)。问题是,目前尚不清楚应该如何将应用程序列入白名单。有什么提示吗?该页面显示“您必须被邀请加入 Amazon Drive API 服务才能将您的应用列入 Amazon Drive 的白名单”——所以也许我需要邀请?
  • 是的,目前 Drive SDK 尚未向公众开放:developer.amazon.com/amazon-drive 的页面引用了“Amazon Drive API 和 SDK 目前对新开发人员关闭。”。我想我们只需要等待。
  • 嗯?我很确定它已经在我的应用程序中使用了很长时间了。
  • 好吧,我得到invalid_scopeclouddrive:read_image 范围;基本上只有“配置文件”范围才能正常工作。如何将应用列入白名单?我试图用谷歌搜索,但所有结果都指向亚马逊驱动器页面,上面说它对新开发人员关闭。
  • 他们可能已经锁定了它。这让我非常困惑,演示应用程序可以工作,如果我更改我的包以匹配他们的,我的代码也可以工作。然后我给他们发了电子邮件,他们给我发了一条更新的指令,因为密钥让他们可以使用旧的权限模型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-27
  • 2020-12-02
  • 2012-03-04
相关资源
最近更新 更多