Hub per sviluppatoriStato dell'APISupporto

Tutorial: Automatizza le chiamate SP-API utilizzando un SDK Java

Automatizza le tue chiamate SP-API con lo scambio e l'autenticazione di token Login with Amazon (LWA).

Questo tutorial descrive come generare un SDK Java con lo scambio di token Login with Amazon (LWA) e l'autenticazione per creare la tua applicazione senza problemi. Scoprirai i prerequisiti necessari per creare l'SDK Java e visualizzerai anche un esempio utilizzando l'API Selling Partner per venditori e Swagger Code Generator.

Innanzitutto, dai un'occhiata a come funziona il processo di autorizzazione.

Tutorial

Il seguente tutorial ti aiuterà a configurare il tuo Java SDK per automatizzare le chiamate SP-API.

Prerequisiti

Per completare questo tutorial, sono necessari i seguenti prerequisiti:

  • Un'app ibrida o SP-API in stato di bozza o pubblicata
  • Software per l'ambiente di sviluppo integrato (IDE) (questa procedura dettagliata utilizza Eclipse IDE su sistema operativo Windows)

Prima che la tua applicazione possa connettersi all'API del partner di vendita, devi registrarla e deve essere autorizzata da un partner di vendita. Se non disponi di un'app ibrida o SP-API, segui i passaggi per registrati come sviluppatore, registra la tua candidatura, e Autorizzazione delle applicazioni Selling Partner API. Quindi, torna a questo tutorial.

Quindi, configura il tuo spazio di lavoro per il tutorial.

Fase 1. Configura il tuo spazio di lavoro

Innanzitutto, devi scaricare i pacchetti software richiesti, scaricare Swagger Code Generator e clonare il repository dei modelli SP-API.

  1. Sul tuo disco locale, crea una directory per questo progetto e assegnagli un nome SwaggerToCL.

  2. Scarica i seguenti strumenti e rendili disponibili nel tuo $PATH.

  3. Esegui il seguente comando per scaricare Swagger Code Generator:

    wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar -O swagger-codegen-cli.jar
  4. Copia swagger-codegen-cli.jar nella tua rubrica locale C:\\SwaggerToCL.

  5. In GitHub, vai a https://github.com/amzn/selling-partner-api-models/tree/main/models e usa il seguente comando per clonare selling-partner-api-models repository nella tua directory locale C:\\SwaggerToCL.

    git clone https://github.com/amzn/selling-partner-api-models
  6. Naviga fino alla selling-partner-api-models\models cartella nella copia locale del repository e copia tutti i file JSON dalle sottocartelle dei modelli in C:\\SwaggerToCL.

    Le selling-partner-api-models il repository ha due directory:

    • elenco dei modelli - contiene tutti i modelli di API per i partner di vendita attualmente disponibili.

    📘

    Nota

    Gli sviluppatori utilizzano Codegen Swagger per generare librerie client da questi modelli. Swagger CodeGen è un progetto open source che consente la generazione automatica di librerie client API (generazione SDK), stub di server e documentazione a partire da una specifica OpenAPI. Per ulteriori informazioni, fare riferimento a Codegen Swagger.

Ora che hai completato la configurazione richiesta, il passaggio successivo è generare l'SDK Java con le classi di autenticazione e autorizzazione fornite nel sellingpartner-api-aa-java cartella.

Fase 2 Genera Java SDK per SP-API

In questo passaggio, generi l'SDK in base ai modelli nella cartella selling-partner-api-models\clients\sellingpartner-api-aa-java nella tua copia locale del repository. Questa cartella contiene una libreria di autorizzazione e autenticazione, insieme a modelli personalizzati per Swagger Code Generator e un file di configurazione per generare la versione corretta dell'SDK.

Per generare l'SDK Java, devi eseguire il seguente comando per ogni file JSON nella tua directory locale:

java -jar C:\SwaggerToCL\swagger-codegen-cli.jar generate \ -i C:\SwaggerToCL\[name of model].json \ -l java -t [path to selling-partner-api-models\clients\sellingpartner-api-aa-java folder]\resources\swagger-codegen\templates\ \ -o C:\SwaggerToCL\[name of client library] \ -c [path to selling-partner-api-models\clients\sellingpartner-api-aa-java folder]\resources\java\config.json

Ad esempio, esegui il seguente comando per generare codice Java per sellers.json.

java -jar C:\SwaggerToCL\swagger-codegen-cli.jar generate \ -i C:\SwaggerToCL\Sellers.json \ -l java -t [path to selling-partner-api-models\clients\sellingpartner-api-aa-java folder]\resources\swagger-codegen\templates\ \ -o C:\SwaggerToCL\Sellers_JavaCL \ -c [path to selling-partner-api-models\clients\sellingpartner-api-aa-java folder]\resources\java\config.json

Ripeti questo passaggio per generare SDK per ciascuna delle API SP disponibili in elenco dei modelli.

L'SDK generato include le classi per configurare le credenziali LWA e le utilizza per scambiare token LWA.

Nei passaggi seguenti, xx si riferisce all'ultima versione della libreria AA. Fare riferimento al leggimi per ottenere l'ultima versione.

Fase 3. Crea la libreria Authentication/Authorization Library (AA)

Dopo aver generato l'SDK, crea la libreria AA.

  1. Naviga fino alla selling-partner-api-models\clients\sellingpartner-api-aa-java cartella della tua copia locale del repository ed esegui mvn package. Questo genera una cartella denominata target. In questa cartella c'è un JAR file denominato sellingpartnerapi-aa-java-x.x-jar-with-dependencies.jar (o con un nome simile) e tutte le dipendenze richieste.
  2. Esegui il seguente comando per installare il file JAR nella tua repository locale {{1}}.
mvn install:install-file -Dfile=[path to JAR file in "target" folder] -DgroupId=com.amazon.sellingpartnerapi -DartifactId=sellingpartnerapi-aa-java -Dversion=x.x -Dpackaging=jar

Puoi trovare l'attuale groupId, artifactId, e version valori nella parte superiore del pom.xml file nel selling-partner-api-models\clients\sellingpartner-api-aa-java cartella.

Esempio:

mvn install:install-file -Dfile=C:\SwaggerToCL\sellingpartner-api-aa-java\target\sellingpartnerapi-aa-java-x.x.jar -DgroupId=com.amazon.sellingpartnerapi -DartifactId=sellingpartnerapi-aa-java -Dversion=x.x -Dpackaging=jar
mvn install:install-file -Dfile=C:\SwaggerToCL\sellingpartner-api-aa-java\target\sellingpartnerapi-aa-java-x.x-jar-with-dependencies.jar -DgroupId=com.amazon.sellingpartnerapi -DartifactId=sellingpartnerapi-aa-java -Dversion=x.x -Dpackaging=jar

Fase 4. Aggiungi la libreria come dipendenza dell'SDK

Per aggiungere la libreria come dipendenza, è necessario modificare pom.xml fascicolo.

  1. Nella tua directory locale, vai a selling-partner-api-models/clients/sellingpartner-api-aa-java e apri il pom.xml fascicolo.

  2. Aggiungi il codice seguente come dipendenza nel file.

    <dependency> <groupId>com.amazon.sellingpartnerapi</groupId> <artifactId>sellingpartnerapi-aa-java</artifactId> <version>x.x</version> </dependency>
  3. Salva e chiudi il file.

Il passaggio successivo consiste nello scrivere l'applicazione effettiva e connettersi all'SP-API utilizzando l'SDK Java generato.

Fase 5. Connettiti all'API Selling Partner utilizzando l'SDK Java generato

In questo passaggio, ti connetti all'API Selling Partner utilizzando il tuo Java SDK generato. Questi passaggi utilizzano IDE Eclipse per importare l'SDK generato e connetterti all'API Selling Partner, ma puoi usare il tuo IDE preferito.

  1. In {{0}}, nel menu File, scegli Apri progetti dal file system e quindi importa l'SDK Java generato.

  2. Nel src/main/java aggiungere un class per scrivere il tuo codice.

  3. Inserisci il codice nell'aggiunto class per configurare la seguente istanza:

    📘

    Nota

    Nota: se il percorso della classe non riconosce le classi in JAR, dovrai aggiungere i file target che sono stati creati nella cartella {{2}}, che si trova nella cartella SDK generata.

  4. Crea un'istanza dell'API SDK generata e chiama le operazioni. Per un esempio, fai riferimento al seguente codice di esempio per la connessione all'API Selling Partner per venditori (a condizione che tu abbia generato l'SDK per questa API).

    import io.swagger.client.*; import io.swagger.client.auth.*; import io.swagger.client.model.*; import io.swagger.client.api.SellersApi; import java.io.File; import java.util.*; import com.amazon.SellingPartnerAPIAA.LWAAuthorizationCredentials; import com.amazon.SellingPartnerAPIAA.LWAException; import static com.amazon.SellingPartnerAPIAA.ScopeConstants.SCOPE_NOTIFICATIONS_API; // for grantless operations (Notifications API) import static com.amazon.SellingPartnerAPIAA.ScopeConstants.SCOPE_MIGRATION_API; // for grantless operations (Authorization API) public class SellersApiDemo { public static void main(String[] args) { //Configure your LWA credentials : LWAAuthorizationCredentials lwaAuthorizationCredentials = LWAAuthorizationCredentials.builder() .clientId("amzn1.application-*********************") .clientSecret("***********************************") .refreshToken("Atzr|******************************") .endpoint("https://api.amazon.com/auth/o2/token") .build(); //For Grantless operations (Authorization API and Notifications API), use following code : /* LWAAuthorizationCredentials lwaAuthorizationCredentials = LWAAuthorizationCredentials.builder() .clientId("amzn1.application-*********************") .clientSecret("***********************************") .withScopes(SCOPE_NOTIFICATIONS_API, SCOPE_MIGRATION_API) .endpoint("https://api.amazon.com/auth/o2/token") .build(); */ //Create an instance of the Sellers API and call an operation : SellersApi sellersApi = new SellersApi.Builder() .lwaAuthorizationCredentials(lwaAuthorizationCredentials) .endpoint("https://sellingpartnerapi-na.amazon.com") // use Sandbox URL here if you would like to test your applications without affecting production data. .build(); try { GetMarketplaceParticipationsResponse result = sellersApi.getMarketplaceParticipations(); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling SellersApi#getMarketplaceParticipations"); e.printStackTrace(); } catch (LWAException e) { System.err.println("LWA Exception when calling SellersApi#getMarketplaceParticipations"); System.err.println(e.getErrorCode()); System.err.println(e.getErrorMessage()); e.printStackTrace(); } } }

Ora che hai eseguito il codice, esegui main e dovresti vedere un elenco di marketplace in cui il tuo venditore autorizzato può vendere.

Puoi seguire passaggi simili per altre API SP.


Questa pagina ti è stata utile?