S3 Transfer Manager示例显示错误:不支持未经身份验证的访问

Viv*_*R K 8 android amazon-s3 amazon-web-services amazon-cognito

我正在尝试从以下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

我在libs中包含了以下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.

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

Ric*_*ung 15

对不起,您的样品有问题.我认为有两件事可以解决你的问题.

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

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

希望有帮助,我会看看我们是否可以使文档更清晰.对不起再次抱歉!