在您的应用程序可以连接到销售伙伴API之前,您必须注册它,并且它必须得到销售伙伴的授权.参见注册您的应用程序和授权销售伙伴API应用程序.
这些说明告诉你如何使用生成的Java SDK进行调用.SDK暴露了用于配置你的LWA和AWS凭证的类,并使用这些类来交换LWA令牌并为你签署请求.更多信息,请参阅[生成带有LWA令牌交换和认证的Java SDK](doc generating-a-java-sdk-with-lwa-token-exchange-and-authentication).
# 步骤1.配置你的AWS凭证
创建一个AWSAuthenticationCredentials
的实例,使用以下参数
Name | 描述 | 要求 | 描述 |
---|---|---|---|
accessKeyId[/strong | 您的AWS访问密钥Id,来自步骤2.创建一个IAM用户. | 是的 | |
secretKey[/strong | 你的AWS秘密访问密钥,来自第2步.创建IAM用户. | 是的 | |
region | 您将呼叫指向的AWS区域.更多信息,请参阅销售合作伙伴API端点. | 是的 |
例子
import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCredentials;
AWSAuthenticationCredentials awsAuthenticationCredentials=AWSAuthenticationCredentials.builder()
.accessKeyId("myAccessKeyId")
.secretKey("mySecretId")
.region("us-east-1")
.build();
2
3
4
5
6
7
# 步骤2.配置你的AWS凭证提供者
创建一个AWSAuthenticationCredentialsProvider
的实例,使用以下参数
名称 | 描述 | 要求 | 描述 |
---|---|---|---|
roleArn | 您在步骤4.创建一个IAM角色. | 中创建的IAM角色的ARN是的 | |
roleSessionName | 您定义的会话的标识符.我们建议使用通用唯一标识符 (UUID). | 是的 |
例子
import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCredentialsProvider;
AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider=AWSAuthenticationCredentialsProvider.builder()
.roleArn("myroleARN")
.roleSessionName("myrolesessioname")
.build();
2
3
4
5
6
# 第3步.配置你的LWA凭证
创建一个LWAAuthorizationCredentials
的实例,使用以下参数
Name | Description | Required |
---|---|---|
clientId | Your LWA client identifier. For more information, see Viewing your developer information. | 是的 |
clientSecret | Your LWA client secret. For more information, see Viewing your developer information. | 是的 |
refreshToken | LWA刷新令牌.当销售伙伴授权你的应用程序时获得此值.更多信息,请参见授权销售合作伙伴API应用程序. | No.如果你在下面的步骤中调用的操作需要销售伙伴授权,请包括refreshToken.所有不是无授权操作的操作都需要销售伙伴授权.如果你包括refreshToken,请不要包括withScopes. |
withScopes | LWA授权的范围.你可以指定一个或多个withScopes值. Values:
| No. 如果你在下面的步骤中调用的操作是一个grantlessoperation. 如果你包括withScopes,不要包括refreshToken. |
endpoint | LWA认证服务器URI. | 是的 |
调用需要销售伙伴授权的操作的例子
import com.amazon.SellingPartnerAPIAA.LWAAuthorizationCredentials;
LWAAuthorizationCredentials lwaAuthorizationCredentials = LWAAuthorizationCredentials.builder()
.clientId("myClientId")
.clientSecret("myClientSecret")
.refreshToken("Aztr|...")
.endpoint("https://api.amazon.com/auth/o2/token")
.build();
2
3
4
5
6
7
8
调用无授权操作的例子
import com.amazon.SellingPartnerAPIAA.LWAAuthorizationCredentials;
import static com.amazon.SellingPartnerAPIAA.ScopeConstants.SCOPE_NOTIFICATIONS_API;
输入静态的 com.amazon.SellingPartnerAPIAA.ScopeConstants.SCOPE_MIGRATION_API;
LWAAuthorizationCredentials lwaAuthorizationCredentials =
LWAAuthorizationCredentials.builder()
.clientId("myClientId")
.clientSecret("myClientSecret")
.withScopes(SCOPE_NOTIFICATIONS_API, SCOPE_MIGRATION_API)
.endpoint("https://api.amazon.com/auth/o2/token")
.build();
2
3
4
5
6
7
8
9
10
11
# 步骤4.创建一个Sellers API的实例并调用一个操作
配置好AWSAuthenticationCredentials
、AWSAuthenticationCredentialsProvider
和LWAAuthorizationCredentials
实例后,你可以创建一个SellersApi的实例并调用一个操作.
例子
SellersApi sellersApi = new SellersApi.Builder()
.awsAuthenticationCredentials(awsAuthenticationCredentials)
.lwaAuthorizationCredentials(lwaAuthorizationCredentials)
.awsAuthenticationCredentialsProvider(awsAuthenticationCredentialsProvider)
.endpoint("https://sellingpartnerapi-na.amazon.com")
.build();
2
3
4
5
6