Так как несколько дней и много поисков в Google, я пытаюсь получить ответ здесь.
Я бы хотел проанализировать XML MWS Amazon для Google Sheets с помощью скрипта Google Apps.
Вызов API работает, и я могу записать ответ в ячейку на листе, но я не могу разбить элементы XML на отдельные ячейки.
Вот так я пытаюсь получить доступ к XMLэлементы:
var response = UrlFetchApp.fetch('https://mws.amazonservices.de/Orders/2013-09-01', options);
var responseXml = response.getContentText();
var Sheet_Temp = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Temp')
Sheet_Temp.getRange(1, 1).setValue(response)
var xmlDoc = XmlService.parse(responseXml);
var root = xmlDoc.getRootElement();
var ns = root.getNamespace();
Sheet_Report.getRange(1, 1).setValue(ns);
var row = new Array();
var feed = root.getChild("ListOrdersResult", ns).getChild("Orders", ns).getChild("Order", ns);
var AmazonOrderId = feed.getChildren("AmazonOrderId", ns).getValue();
Последняя строка вызывает ошибку:
TypeError: Функция getValue в Objekt [Элемент: https://mws.amazonservices.com/Orders/2013-09-01]/>] nicht gefunden (Zeile 497, Datei "Code")
И это короткая версия XML.Реальный файл имеет тысячи разных порядков:
<?xml version="1.0"?>
<ListOrdersResponse xmlns="https://mws.amazonservices.com/Orders/2013-09-01">
<ListOrdersResult>
<Orders>
<Order>
<LatestShipDate>2018-01-03T09:07:08Z</LatestShipDate>
<OrderType>StandardOrder</OrderType>
<PurchaseDate>2018-01-01T00:03:57Z</PurchaseDate>
<BuyerEmail>7vndn9example@marketplace.amazon.de</BuyerEmail>
<AmazonOrderId>306-8775721-example</AmazonOrderId>
<IsReplacementOrder>false</IsReplacementOrder>
<LastUpdateDate>2018-01-03T09:37:38Z</LastUpdateDate>
<NumberOfItemsShipped>1</NumberOfItemsShipped>
<ShipServiceLevel>Expedited</ShipServiceLevel>
<OrderStatus>Shipped</OrderStatus>
<SalesChannel>Amazon.de</SalesChannel>
<IsBusinessOrder>false</IsBusinessOrder>
<NumberOfItemsUnshipped>0</NumberOfItemsUnshipped>
<PaymentMethodDetails>
<PaymentMethodDetail>Standard</PaymentMethodDetail>
</PaymentMethodDetails>
<BuyerName>Fabi example</BuyerName>
<OrderTotal>
<CurrencyCode>EUR</CurrencyCode>
<Amount>10.95</Amount>
</OrderTotal>
<IsPremiumOrder>false</IsPremiumOrder>
<EarliestShipDate>2018-01-03T09:07:08Z</EarliestShipDate>
<MarketplaceId>A1PA6795UKMFR9</MarketplaceId>
<FulfillmentChannel>AFN</FulfillmentChannel>
<PaymentMethod>Other</PaymentMethod>
<ShippingAddress>
<City>Winnenden</City>
<PostalCode>71364</PostalCode>
<StateOrRegion>Baden-Württemberg</StateOrRegion>
<CountryCode>DE</CountryCode>
<Name>Fabian example</Name>
<AddressLine2>example 1</AddressLine2>
</ShippingAddress>
<IsPrime>false</IsPrime>
<ShipmentServiceLevelCategory>Expedited</ShipmentServiceLevelCategory>
<SellerOrderId>306-8775721-example</SellerOrderId>
</Order>
<Order>
<LatestShipDate>2018-01-13T17:37:01Z</LatestShipDate>
<OrderType>StandardOrder</OrderType>
<PurchaseDate>2018-01-01T03:17:35Z</PurchaseDate>
<BuyerEmail>004xssfxexample@marketplace.amazon.de</BuyerEmail>
<AmazonOrderId>306-1651353-example</AmazonOrderId>
<IsReplacementOrder>false</IsReplacementOrder>
<LastUpdateDate>2018-01-13T18:07:23Z</LastUpdateDate>
<NumberOfItemsShipped>1</NumberOfItemsShipped>
<ShipServiceLevel>Standard</ShipServiceLevel>
<OrderStatus>Shipped</OrderStatus>
<SalesChannel>Amazon.de</SalesChannel>
<IsBusinessOrder>false</IsBusinessOrder>
<NumberOfItemsUnshipped>0</NumberOfItemsUnshipped>
<PaymentMethodDetails>
<PaymentMethodDetail>Standard</PaymentMethodDetail>
</PaymentMethodDetails>
<BuyerName>F. example</BuyerName>
<OrderTotal>
<CurrencyCode>EUR</CurrencyCode>
<Amount>15.15</Amount>
</OrderTotal>
<IsPremiumOrder>false</IsPremiumOrder>
<EarliestShipDate>2018-01-13T17:37:01Z</EarliestShipDate>
<MarketplaceId>A1PA6795UKMFR9</MarketplaceId>
<FulfillmentChannel>AFN</FulfillmentChannel>
<PaymentMethod>Other</PaymentMethod>
<ShippingAddress>
<City>Golling</City>
<PostalCode>3381</PostalCode>
<StateOrRegion>Niederösterreich</StateOrRegion>
<CountryCode>AT</CountryCode>
<Name>Franz example</Name>
<AddressLine2>example 9</AddressLine2>
</ShippingAddress>
<IsPrime>false</IsPrime>
<ShipmentServiceLevelCategory>Standard</ShipmentServiceLevelCategory>
<SellerOrderId>306-1651353-example</SellerOrderId>
</Order>
</Orders>
<CreatedBefore>2018-01-01T12:00:00Z</CreatedBefore>
</ListOrdersResult>
<ResponseMetadata>
<RequestId>aea97379-21ae-4431-a16d-4a6569c4124b</RequestId>
</ResponseMetadata>
</ListOrdersResponse>
Как получить этот XML в листе Google?
Редактировать: я внес некоторые изменения, но теперь я получаю следующую ошибку:
TypeError: Функция getValue в Objekt [Элемент: https://mws.amazonservices.com/Orders/2013-09-01]/>] nicht gefunden (Zeile 497, Datei "Code")