在您的应用程序可以连接到销售伙伴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