Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) Amazon SP-API Create Feed DocSee more Amazon SP-API ExamplesCreates a feed document. Amazon returns a feedDocumentId value, encryption details, and a URL for uploading the feed contents. For more information, see https://developer-docs.amazon.com/sp-api/docs/feeds-api-v2020-09-04-use-case-guide
#import <CkoAuthAws.h> #import <CkoRest.h> #import <CkoJsonObject.h> #import <NSString.h> #import <CkoStringBuilder.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoAuthAws *authAws = [[CkoAuthAws alloc] init]; authAws.AccessKey = @"AWS_ACCESS_KEY"; authAws.SecretKey = @"AWS_SECRET_KEY"; authAws.ServiceName = @"execute-api"; // Use the region that is correct for your needs. authAws.Region = @"eu-west-1"; CkoRest *rest = [[CkoRest alloc] init]; BOOL success = [rest Connect: @"sellingpartnerapi-eu.amazon.com" port: [NSNumber numberWithInt: 443] tls: YES autoReconnect: YES]; if (success == NO) { NSLog(@"%@",rest.LastErrorText); return; } success = [rest SetAuthAws: authAws]; // Load the previously obtained LWA access token. // See Fetch SP-API LWA Access Token CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init]; success = [jsonToken LoadFile: @"qa_data/tokens/sp_api_lwa_token.json"]; if (success == NO) { NSLog(@"%@",@"Failed to load LWA access token."); return; } // Add the x-amz-access-token request header. NSString *lwa_token = [jsonToken StringOf: @"access_token"]; CkoJsonObject *jsonReq = [[CkoJsonObject alloc] init]; [jsonReq UpdateString: @"contentType" value: @"text/tab-separated-values; charset=UTF-8"]; CkoStringBuilder *sbRequest = [[CkoStringBuilder alloc] init]; [jsonReq EmitSb: sbRequest]; [rest ClearAllQueryParams]; [rest ClearAllHeaders]; [rest AddHeader: @"x-amz-access-token" value: lwa_token]; CkoStringBuilder *sbResponse = [[CkoStringBuilder alloc] init]; NSString *path = @"/feeds/2021-06-30/documents"; success = [rest FullRequestSb: @"POST" uriPath: path requestBody: sbRequest responseBody: sbResponse]; if (success == NO) { NSLog(@"%@",rest.LastErrorText); return; } // Examine the response status. int statusCode = [rest.ResponseStatusCode intValue]; NSLog(@"%@%d",@"statusCode: ",statusCode); if (statusCode != 201) { NSLog(@"%@%@",@"Response status text: ",rest.ResponseStatusText); NSLog(@"%@",@"Response body: "); NSLog(@"%@",[sbResponse GetAsString]); NSLog(@"%@",@"Failed."); return; } NSLog(@"%@",[sbResponse GetAsString]); // If successful, gets a JSON response such as the following: // { // "feedDocumentId": "3d4e42b5-1d6e-44e8-a89c-2abfca0625bb", // "url": "https://d34o8swod1owfl.cloudfront.net/Feed_101__POST_PRODUCT_DATA_.xml" // } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON CkoJsonObject *json = [[CkoJsonObject alloc] init]; [json LoadSb: sbResponse]; NSString *feedDocumentId = [json StringOf: @"feedDocumentId"]; NSString *url = [json StringOf: @"url"]; // Save the JSON to a file for the example that uploads the feed.. success = [json WriteFile: @"qa_data/json/sp_api_feed_upload_info.json"]; NSLog(@"%@",@"Success!"); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.