Dokumentation
Entwickler-HubAPI-StatusUnterstützung

Tutorial: Automatisieren Sie Ihre SP-API-Aufrufe mithilfe eines Java-SDK

Automatisieren Sie Ihre SP-API-Aufrufe mit dem Tokenaustausch und der Authentifizierung von Login with Amazon (LWA).

In diesem Tutorial wird beschrieben, wie Sie ein Java-SDK mit Login with Amazon (LWA) Tokenaustausch und Authentifizierung generieren, um Ihre Anwendung nahtlos zu erstellen. Sie lernen die Voraussetzungen kennen, die für die Erstellung des Java-SDK erforderlich sind, und sehen sich auch ein Beispiel an, das die Verkaufspartner-API für Verkäufer und den Swagger Code Generator verwendet.

Schauen Sie sich zunächst an, wie der Autorisierungsprozess funktioniert.

Tutorial

Das folgende Tutorial hilft Ihnen dabei, Ihr eigenes Java-SDK für die Automatisierung von SP-API-Aufrufen einzurichten.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie die folgenden Voraussetzungen:

  • Eine Hybrid- oder SP-API-App im Entwurfs- oder Veröffentlichungsstatus
  • IDE-Software (Integrierte Entwicklungsumgebung) (in dieser exemplarischen Vorgehensweise wird Eclipse IDE unter Windows verwendet)

Bevor Ihre Anwendung eine Verbindung zur Vertriebspartner-API herstellen kann, müssen Sie sie registrieren und sie muss von einem Vertriebspartner autorisiert werden. Wenn Sie keine Hybrid- oder SP-API-App haben, folgen Sie den Schritten registriere dich als Entwickler, registriere deine Bewerbung, und Autorisierung von API-Anwendungen für Vertriebspartner. Kehren Sie dann zu diesem Tutorial zurück.

Richten Sie als Nächstes Ihren Arbeitsbereich für das Tutorial ein.

Schritt 1. Richte deinen Workspace ein

Zunächst müssen Sie die erforderlichen Softwarepakete herunterladen, Swagger Code Generator herunterladen und das SP-API-Modell-Repository klonen.

  1. Erstellen Sie auf Ihrem lokalen Laufwerk ein Verzeichnis für dieses Projekt und benennen Sie es SwaggerToCL.

  2. Laden Sie die folgenden Tools herunter und stellen Sie sie in Ihrem $PATH.

  3. Führen Sie den folgenden Befehl aus, um den Swagger Code Generator herunterzuladen:

    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. Kopieren swagger-codegen-cli.jar in dein lokales Verzeichnis C:\\SwaggerToCL.

  5. Gehe in GitHub zu https://github.com/amzn/selling-partner-api-models/tree/main/models und verwende den folgenden Befehl, um das zu klonen selling-partner-api-models Repository in dein lokales Verzeichnis C:\\SwaggerToCL.

    git clone https://github.com/amzn/selling-partner-api-models
  6. Navigiere zum selling-partner-api-models\models Ordner in Ihrer lokalen Kopie des Repositorys und kopieren Sie alle JSON-Dateien aus den Unterordnern der Modelle in C:\\SwaggerToCL.

    Das selling-partner-api-models Das Repository hat zwei Verzeichnisse:

    📘

    Hinweis

    Entwickler verwenden Swagger Codegen um Client-Bibliotheken aus diesen Modellen zu generieren. Swagger CodeGen ist ein Open-Source-Projekt, das die automatische Generierung von API-Clientbibliotheken (SDK-Generierung), Server-Stubs und Dokumentation aus einer OpenAPI-Spezifikation ermöglicht. Weitere Informationen finden Sie unter Swagger Codegen.

Nachdem Sie das erforderliche Setup abgeschlossen haben, besteht der nächste Schritt darin, das Java-SDK mit den Authentifizierungs- und Autorisierungsklassen zu generieren, die in der sellingpartner-api-aa-java Mappe.

Schritt 2. Generieren Sie das Java-SDK für SP-APIs

In diesem Schritt generieren Sie das SDK anhand der Vorlagen im Ordner selling-partner-api-models\clients\sellingpartner-api-aa-java in Ihrer lokalen Kopie des Repositorys. Dieser Ordner enthält eine Autorisierungs- und Authentifizierungsbibliothek sowie benutzerdefinierte Vorlagen für den Swagger Code Generator und eine Konfigurationsdatei zum Generieren der richtigen Version des SDK.

Um das Java-SDK zu generieren, müssen Sie den folgenden Befehl für jede JSON-Datei in Ihrem lokalen Verzeichnis ausführen:

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

Führen Sie beispielsweise den folgenden Befehl aus, um Java-Code für zu generieren 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

Wiederholen Sie diesen Schritt, um SDKs für jede der SP-APIs zu generieren, die in der Verzeichnis der Modelle.

Das generierte SDK enthält die Klassen für die Konfiguration Ihrer LWA-Anmeldeinformationen und verwendet sie für den Austausch von LWA-Token.

In den folgenden Schritten x.x bezieht sich auf die neueste Version der AA-Bibliothek. Beziehen Sie sich auf die lies mich um die neueste Version zu erhalten.

Schritt 3. Erstellen Sie die Bibliothek der Authentication/Authorization Library (AA)

Nachdem Sie das SDK generiert haben, erstellen Sie die AA-Bibliothek.

  1. Navigiere zum selling-partner-api-models\clients\sellingpartner-api-aa-java Ordner Ihrer lokalen Kopie des Repositorys und starten Sie mvn package. Dadurch wird ein Ordner mit dem Namen generiert target. In diesem Ordner befindet sich ein JAR Datei benannt sellingpartnerapi-aa-java-x.x-jar-with-dependencies.jar (oder ähnlich benannt) und alle erforderlichen Abhängigkeiten.
  2. Führen Sie den folgenden Befehl aus, um die JAR-Datei in Ihrem lokalen {{1}}-Repository zu installieren.
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

Sie können das aktuelle finden groupId, artifactId, und version Werte nahe dem oberen Rand von pom.xml Datei in der selling-partner-api-models\clients\sellingpartner-api-aa-java Mappe.

Beispiel:

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

Schritt 4. Fügen Sie die Bibliothek als Abhängigkeit des SDK hinzu

Um die Bibliothek als Abhängigkeit hinzuzufügen, müssen Sie die pom.xml datei.

  1. Navigieren Sie in Ihrem lokalen Verzeichnis zu selling-partner-api-models/clients/sellingpartner-api-aa-java und öffne das pom.xml datei.

  2. Fügen Sie den folgenden Code als Abhängigkeit in die Datei ein.

    <dependency> <groupId>com.amazon.sellingpartnerapi</groupId> <artifactId>sellingpartnerapi-aa-java</artifactId> <version>x.x</version> </dependency>
  3. Speichern und schließen Sie die Datei.

Der nächste Schritt besteht darin, die eigentliche Anwendung zu schreiben und mithilfe des generierten Java-SDK eine Verbindung zur SP-API herzustellen.

Schritt 5. Stellen Sie mithilfe des generierten Java-SDK eine Verbindung zur Vertriebspartner-API her

In diesem Schritt stellen Sie mithilfe Ihres generierten Java-SDK eine Verbindung zur Vertriebspartner-API her. Diese Schritte verwenden Eclipse-IDE um das generierte SDK zu importieren und eine Verbindung zur Vertriebspartner-API herzustellen, aber Sie können Ihre bevorzugte IDE verwenden.

  1. Gehen Sie in {{0}} zum Menü Datei und wählen Sie Projekte aus dem Dateisystem öffnen aus. Importieren Sie dann das generierte Java SDK.

  2. In src/main/java füge ein hinzu class um deinen Code zu schreiben.

  3. Geben Sie den Code in das hinzugefügte Feld ein class um die folgende Instanz zu konfigurieren:

    📘

    Hinweis

    Hinweis: Wenn der Klassenpfad die Klassen in JAR nicht erkennt, dann müssen Sie die target-Dateien hinzufügen, die im Ordner {{2}} erstellt wurden. Dieser befindet sich im generierten SDK-Ordner.

  4. Erstellen Sie eine Instanz der generierten SDK-API und rufen Sie die Operationen auf. Ein Beispiel finden Sie im folgenden Beispielcode für die Verbindung mit der Verkaufspartner-API für Verkäufer (vorausgesetzt, Sie haben das SDK für diese API generiert).

    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(); } } }

Nachdem Sie den Code ausgeführt haben, führen Sie die main-Klasse aus. Jetzt sollte Ihnen eine Liste der Marktplätze angezeigt werden, auf denen Ihr autorisierter Verkäufer verkaufen kann.

Sie können ähnliche Schritte für andere SP-APIs ausführen.


Hat Ihnen diese Seite weitergeholfen?