8

我正在尝试从以下 git repo 运行 AWS android 示例: https ://github.com/awslabs/aws-sdk-android-samples

我收到以下错误消息:

不支持未经身份验证的访问。(服务:AmazonCognitoIdentityService;状态代码:400;错误代码:NotAuthorizedException;请求 ID:75be66eb-11b6-11e4-85d9-9933082e5eb2)

我已经按照 git repo url 中提到的步骤配置了 AWS 服务:https ://github.com/awslabs/aws-sdk-android-samples/blob/master/S3_TransferManager/README.md

我在库中包含了以下 jar:

  • aws-android-sdk-2.0.4-cognito.jar
  • aws-android-sdk-2.0.4-core.jar
  • aws-android-sdk-2.0.4-s3.jar

我还添加了AWS_ACCOUNT_ID,COGNITO_POOL_IDBUCKET_NAME. 我不知道在哪里可以找到,COGNITO_ROLE_UNAUTH所以我把它留在了 YOUR_COGNITO_UNAUTH_ROLE

谁能告诉我我在这里做错了什么?

4

1 回答 1

15

抱歉,您在使用示例时遇到问题。我认为有两件事可以解决您的问题。

首先,您是否在 Congito 身份池中启用了未经身份验证的访问?您可以通过转到 Cognito 控制台、转到Edit Identity Pool并查看是否Enable access to Unauthenticated Identities已选中来进行检查。

其次,您需要设置COGNITO_ROLE_UNAUTH. 为此,您首先需要转到 IAM 控制台并创建一个角色(如果您还没有角色)。然后,单击 IAM 控制台中的角色并单击Summary。选项卡下的第一件事Summary应该是Role ARN. 替换YOUR_COGNITO_UNAUTH_ROLE为在那里找到的值。

希望这会有所帮助,我会看看我们是否可以使文档更清晰。再次抱歉给您带来麻烦!

于 2014-07-23T23:40:46.667 回答