Eğitim: Java SDK Kullanarak SP-API Çağrılarınızı Otomatikleştirin
Amazon (LWA) token değişimi ve kimlik doğrulaması ile Oturum Açma ile SP-API çağrılarınızı otomatikleştirin.
Bu eğitim, uygulamanızı sorunsuz bir şekilde oluşturmak için Amazon (LWA) belirteç değişimi ve kimlik doğrulaması ile Oturum Açma ile Java SDK'nın nasıl oluşturulacağını açıklar. Java SDK'yı oluşturmak için gereken ön koşulları öğrenecek ve ayrıca Satıcılar için Satış Ortağı API'sini ve Swagger Kod Oluşturucusunu kullanarak bir örnek görüntüleyeceksiniz.
İlk olarak, yetkilendirme sürecinin nasıl çalıştığına bir göz atın.
Eğitim
Aşağıdaki eğitim, SP-API çağrılarını otomatikleştirmek için kendi Java SDK'nızı kurmanıza yardımcı olacaktır.
Ön koşullar
Bu eğitimi tamamlamak için aşağıdaki ön koşullara ihtiyacınız vardır:
- Taslak veya yayınlanmış durumda bir hibrit veya SP-API uygulaması
- Entegre geliştirme ortamı (IDE) yazılımı (bu adım adım, Windows işletim sisteminde Eclipse IDE'yi kullanır)
Before your application can connect to the Selling Partner API, you must register it, and it must be authorized by a selling partner. If you do not have a hybrid or SP-API app, follow the steps to register as a developer, register your application, and Authorizing Selling Partner API applications. Then, return to this tutorial.
Ardından, eğitim için çalışma alanınızı ayarlayın.
Adım 1. Çalışma alanınızı ayarlayın
Öncelikle, gerekli yazılım paketlerini indirmeniz, Swagger Code Generator'ı indirmeniz ve SP-API modelleri deposunu klonlamanız gerekir.
-
Yerel sürücünüzde, bu proje için bir dizin oluşturun ve adlandırın
SwaggerToCL
. -
Aşağıdaki araçları indirin ve bunları kendi cihazınızda kullanıma sunun
$PATH
. -
Swagger Code Generator'ı indirmek için aşağıdaki komutu çalıştırın:
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 -
Kopyalama
swagger-codegen-cli.jar
yerel dizininizeC:\\SwaggerToCL
. -
In GitHub, go to https://github.com/amzn/selling-partner-api-models/tree/main/models and use the following command to clone the
selling-partner-api-models
repository to your local directoryC:\\SwaggerToCL
.git clone https://github.com/amzn/selling-partner-api-models -
Şuraya git
selling-partner-api-models\models
deponun yerel kopyasındaki klasör ve tüm JSON dosyalarını modeller alt klasörlerinden kopyalayınC:\\SwaggerToCL
.The
selling-partner-api-models
repository has two directories:- models directory - contains all the currently available Selling Partner API models.
Not
Developers use Swagger Codegen to generate client libraries from these models. Swagger CodeGen is an open source project which enables automatic generation of API client libraries (SDK generation), server stubs, and documentation from an OpenAPI specification. For more information, refer to Swagger Codegen.
- clients directory - contains a Java library named
sellingpartner-api-aa-java
and a C# library namedsellingpartner-api-aa-csharp
with Mustache templates for use withswagger-codegen
to generate client libraries with authentication and authorization functionality included. Thesellingpartner-api-documents-helper-java
folder contains helper classes for encrypted documents. Thesample-code
folder contains java code examples for the Restricted Data Token (RDT).
Now that you have completed the required setup, the next step is to generate the Java SDK with the authentication and authorization classes provided in the sellingpartner-api-aa-java
folder.
Adım 2. SP-API'ler için Java SDK oluşturun
Bu adımda, SDK'yı klasördeki şablonlara göre oluşturursunuz selling-partner-api-models\clients\sellingpartner-api-aa-java
Deponun yerel kopyasında. Bu klasör, Swagger Code Generator için özelleştirilmiş şablonların yanı sıra bir yetkilendirme ve kimlik doğrulama kitaplığı ve SDK'nın doğru sürümünü oluşturmak için bir yapılandırma dosyası içerir.
Java SDK'yı oluşturmak için yerel dizininizdeki her JSON dosyası için aşağıdaki komutu çalıştırmanız gerekir:
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
Örneğin, Java kodu oluşturmak için aşağıdaki komutu çalıştırın 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
Repeat this step to generate SDKs for each of the SP-APIs available in the models directory.
Oluşturulan SDK, LWA kimlik bilgilerinizi yapılandırmak için sınıfları içerir ve bunları LWA belirteçlerini değiştirmek için kullanır.
In the following steps, x.x refers to the latest version of the AA library. Refer to the readme to get the latest version.
Adım 3. Kimlik Doğrulama/Yetkilendirme Kitaplığı (AA) kütüphanesini oluşturun
SDK'yı oluşturduktan sonra AA kitaplığını oluşturun.
- Şuraya git
selling-partner-api-models\clients\sellingpartner-api-aa-java
deponuzun yerel kopyasının klasörü ve çalıştırınmvn package
. Bu, adında bir klasör oluştururtarget
. Bu klasörde birJAR
isimlendirilmiş dosyasellingpartnerapi-aa-java-x.x-jar-with-dependencies.jar
(veya benzer şekilde adlandırılmış) ve gerekli tüm bağımlılıklar. - Aşağıdaki komutu çalıştırarak yerel {{1}} deponuza
JAR
dosyasını yükleyin.
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
Gerçek olanı bulabilirsiniz groupId
, artifactId
, ve version
üst kısmına yakın değerler pom.xml
dosyada selling-partner-api-models\clients\sellingpartner-api-aa-java
klasör.
Örnek:
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
Adım 4. Kitaplığı SDK'nın bağımlılığı olarak ekleyin
Kütüphaneyi bağımlılık olarak eklemek için, düzenlemeniz gerekir pom.xml
dosya.
-
Yerel dizininizde, şuraya gidin
selling-partner-api-models/clients/sellingpartner-api-aa-java
ve açınpom.xml
dosya. -
Aşağıdaki kodu dosyaya bağımlılık olarak ekleyin.
<dependency> <groupId>com.amazon.sellingpartnerapi</groupId> <artifactId>sellingpartnerapi-aa-java</artifactId> <version>x.x</version> </dependency> -
Dosyayı kaydedin ve kapatın.
Bir sonraki adım, gerçek uygulamayı yazmak ve oluşturulan Java SDK'yı kullanarak SP-API'ye bağlanmaktır.
Adım 5. Oluşturulan Java SDK'sını kullanarak Satış Ortağı API'sine bağlanın
In this step, you connect to the Selling Partner API using your generated Java SDK. These steps use Eclipse IDE to import the generated SDK and connect to the Selling Partner API, but you can use your preferred IDE.
-
{{0}} içindeki Dosya menüsünden Dosya Sisteminden Projeleri Aç'ı seçerek oluşturulan Java SDK'yi içe aktarın.
-
İçinde
src/main/java
bir ekleclass
Kodunuzu yazmak için. -
Eklenenlere kodu girin
class
aşağıdaki örneği yapılandırmak için:- LWA credentials (refer to Configure your LWA credentials)
Not
Hatırlatma: Sınıf yolu,
JAR
içindeki sınıfları tanımıyorsa oluşturulan SDK klasöründeki {{2}} klasöründe oluşturulantarget
dosyalarını eklemeniz gerekir. -
Oluşturulan SDK API'sinin bir örneğini oluşturun ve işlemleri çağırın. Örnek olarak, Satıcılar için Satış Ortağı API'sine bağlanmak için aşağıdaki örnek koda bakın (bu API için SDK'yı oluşturmanız şartıyla).
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(); } } }
Artık kodu çalıştırdığınıza göre main
sınıfını çalıştırarak yetkili satıcınızın satış yapabileceği pazaryerlerinin bir listesini görebilirsiniz.
Diğer SP-API'ler için benzer adımları takip edebilirsiniz.
Updated 23 days ago