2016-01-30 16 views
5

Boto zapewnia dostęp do większości interfejsów API Amazon MWS, ale nie do GetLowestPricedOffersForSKU. Próbowałem zhakować jeden, ale generuje błąd Invalid MarketplaceId.Metoda Boto dla Amazon MWS GetLowestPricedOffersForSKU

Boto ma kodu na bardzo podobnej strukturze API - GetLowestOfferListingsForSKU:

@requires(['MarketplaceId', 'SellerSKUList']) 
@structured_lists('SellerSKUList.SellerSKU') 
@api_action('Products', 20, 5, 'GetLowestOfferListingsForSKU') 
def get_lowest_offer_listings_for_sku(self, request, response, **kw): 
    """Returns the lowest price offer listings for a specific 
     product by item condition and SellerSKUs. 
    """ 
    return self._post_request(request, kw, response) 

Więc zmodyfikował @api_action zmienić Operation MWS do GetLowestPricedOffersForSKU:

### MINE ### 
@requires(['MarketplaceId', 'SellerSKUList']) 
@structured_lists('SellerSKUList.SellerSKU') 
@api_action('Products', 20, 5, 'GetLowestPricedOffersForSKU') 
def get_lowest_priced_offers_for_sku(self, request, response, **kw): 
    return self._post_request(request, kw, response) 

nazywam tę metodę w następujący sposób :

conn = connection.MWSConnection(
    aws_access_key_id=ACCESS_KEY, 
    aws_secret_access_key=SECRET_KEY, 
    Merchant=ACCOUNT_ID 
) 
response = conn.get_lowest_priced_offers_for_sku(
    MarketplaceId=marketplace_id, SellerSKUList=sku_list, ItemCondition=condition 
) 

Kiedy dzwonię get_lowest_priced_offers_for_sku, pojawia się błąd Invalid MarketplaceId. Jeśli jedyną zmianą, którą wprowadzam, jest wywołanie get_lowest_offer_listings_for_sku - pozostawienie każdej zmiennej identycznej - kod działa find i zwraca poprawny obiekt odpowiedzi. Działa to dobrze:

response = conn.get_lowest_offer_listings_for_sku(
    MarketplaceId=marketplace_id, SellerSKUList=sku_list, ItemCondition=condition 
) 

Co muszę zrobić, aby uzyskać dostęp do Amazon MWS GetLowestPricedOffersForSKU poprzez boto?

Odpowiedz

0

Nie wiem i nie jestem programista python, ale w PHP AmazonMWS API używam poniżej kod gdzie używam setMarketplaceId()

$request = new MarketplaceWebServiceProducts_Model_GetLowestPricedOffersForSKURequest(); 
$request->setSellerId($this->seller_id); 
$request->setMarketplaceId($this->marketplace_id); 
$request->setItemCondition("New"); 
Powiązane problemy