尝试获取插件,但该插件不存在

Nee*_*vir 5 rest android amazon-cognito aws-api-gateway aws-amplify

我正在尝试将 AWS Amplify 的 REST API 与我的 Android 应用程序一起使用。我完全按照文档中的说明进行操作,但仍然收到此错误:

ApiException{message=AWSApiPlugin 依赖于 AWSCognitoAuthPlugin 但目前缺失,原因=java.lang.IllegalStateException:尝试获取插件但该插件不存在。检查该插件是否最初添加或可能已删除。, recoverySuggestion=在配置 Amplify 之前,请确保添加 AWSCognitoAuthPlugin 与添加 AWSApiPlugin 相同。}

这些是我的 Gradle 文件中的 AWS 依赖项:

dependencies {
    // ...
    implementation 'com.amplifyframework:aws-api:1.6.4'
    implementation 'com.amplifyframework:core:1.6.4'
    implementation 'com.amazonaws:aws-android-sdk-apigateway-core:2.3.2'
    implementation 'com.amazonaws:aws-android-sdk-cognito:2.3.2'
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序类:

dependencies {
    // ...
    implementation 'com.amplifyframework:aws-api:1.6.4'
    implementation 'com.amplifyframework:core:1.6.4'
    implementation 'com.amazonaws:aws-android-sdk-apigateway-core:2.3.2'
    implementation 'com.amazonaws:aws-android-sdk-cognito:2.3.2'
    // ...
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*son 0

您如何尝试使用 API 进行身份验证?authType您的 中列出了什么app/src/main/res/raw/amplifyconfiguration.json

如果是涉及Cognito的东西,则需要添加Auth类别。请遵循Auth 入门指南

如果您尝试使用 Cognito,请使用 CLI 更新您的 API 以使用不同的身份验证类型:

amplify update api
amplify push
Run Code Online (Sandbox Code Playgroud)

例如,您可以选择API 密钥授权,这实际上使您的 API 向任何知道该密钥的人公开。