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

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

我收到以下错误消息:

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

我已经按照git repo url中提到的步骤configuration了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_IDCOGNITO_POOL_IDBUCKET_NAME 。 我不知道在哪里可以findCOGNITO_ROLE_UNAUTH所以我把它留在了YOUR_COGNITO_UNAUTH_ROLE

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

Solutions Collecting From Web of "S3 Transfer Manager示例显示错误:不支持未经身份validation的访问"

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

首先,您是否在Congito身份池中启用了未经身份validation的访问? 您可以通过转至Cognito控制台,转至Edit Identity Pool ,并查看是否选中Enable access to Unauthenticated Identities

其次,你需要设置COGNITO_ROLE_UNAUTH 。 要做到这一点,您将首先需要去IAM控制台,并创build一个angular色,如果你还没有。 然后,单击IAM控制台中的angular色,然后单击SummarySummary选项卡下的第一件事是Role ARN 。 用在那里find的值replaceYOUR_COGNITO_UNAUTH_ROLE

希望有所帮助,我会看看能否让文档更清晰。 对不起再次麻烦!