我正在尝试提取FBA出货数据报告.我有一个正在运行的应用程序,成功地从亚马逊拉出Unshipped Orders.因此,基本上我采用了该代码并将其更改为我需要它为FBA装运订单执行的操作.我几乎没有更改工作代码来获取报告,现在GetReport函数返回null,我不知道为什么.我传递的是来自亚马逊系统的ReportId.
如果有人可以仔细阅读代码,看看我是否传入了一个空对象或其他东西.
RequestReportRequest reportRequestRequest = new RequestReportRequest(); reportRequestRequest.Merchant = merchantId; reportRequestRequest.Marketplace = marketplaceId; reportRequestRequest.ReportType = "_GET_AMAZON_FULFILLED_SHIPMENTS_DATA_"; reportRequestRequest.StartDate = DateTime.Now.AddDays(-2); reportRequestRequest.EndDate = DateTime.Now; RequestReportResponse requestResponse = service.RequestReport(reportRequestRequest); Thread.Sleep(15000); Console.WriteLine(requestResponse.RequestReportResult.ReportRequestInfo.ReportProcessingStatus); GetReportRequestListRequest reportRequestListRequest = new GetReportRequestListRequest(); reportRequestListRequest.Marketplace = marketplaceId; reportRequestListRequest.Merchant = merchantId; List<ReportRequestInfo> myListzz = new List<ReportRequestInfo>(); GetReportRequestListResponse reportRequestListResponse = new GetReportRequestListResponse(); reportRequestListResponse = service.GetReportRequestList(reportRequestListRequest); GetReportRequestListResult reportRequestListResult = new GetReportRequestListResult(); reportRequestListResult = reportRequestListResponse.GetReportRequestListResult; myListzz = reportRequestListResult.ReportRequestInfo; while (myListzz[0].ReportProcessingStatus.ToString() != "_DONE_") { Thread.Sleep(20000); reportRequestListResponse = service.GetReportRequestList(reportRequestListRequest); reportRequestListResult = reportRequestListResponse.GetReportRequestListResult; myListzz = reportRequestListResult.ReportRequestInfo; } GetReportListRequest listRequest = new GetReportListRequest(); listRequest.Merchant = merchantId; listRequest.Marketplace = marketplaceId; listRequest.ReportRequestIdList = new IdList(); listRequest.ReportRequestIdList.Id.Add(requestResponse.RequestReportResult.ReportRequestInfo.ReportRequestId); GetReportListResponse listResponse = service.GetReportList(listRequest); //MessageBox.Show(listResponse.GetReportListResult.ReportInfo.ToString()); GetReportListResult getReportListResult = listResponse.GetReportListResult; GetReportRequest reportRequest = new GetReportRequest(); reportRequest.Merchant = merchantId; reportRequest.Marketplace = marketplaceId; reportRequest.WithReportId(getReportListResult.ReportInfo[0].ReportId); GetReportResponse reportResponse = new GetReportResponse(); { reportResponse = service.GetReport(reportRequest); // <=== ERROR!!!! } catch (MarketplaceWebServiceException e) { Console.WriteLine(e); } StreamReader sr = new StreamReader(reportRequest.Report); Console.WriteLine(sr.ReadToEnd()); sr.Close();