C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 报告API的MWS GetReport函数返回null?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试提取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 = datetiR_698_11845@e.Now.AddDays(-2);
reportrequestrequest.EndDate = datetiR_698_11845@e.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();

解决方法

在此之后:

GetReportResponse reportResponse = new GetReportResponse();

您必须指定一个报告文件,如下所示:

reportrequest.Report = File.open("C:\\AmazonReport.csv",FileMode.openOrCreate,FileAccess.ReadWritE);

然后,它会将报告写入该文件.所以,你可以在那里看到你的报告.

大佬总结

以上是大佬教程为你收集整理的c# – 报告API的MWS GetReport函数返回null?全部内容,希望文章能够帮你解决c# – 报告API的MWS GetReport函数返回null?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。