Amzon MWS API开发之 请求报告
2020-12-13 06:06
标签:style blog http color 使用 os io 文件 时间一晃而过又过了两周,博客园更新的速度确实有点慢,今天我要分享的是对请求报告的调用。 在文档中,相信大家也看了下面这个流程图吧? 相关流程,在文档中也有细说,我就不一一去Copy了:http://docs.developer.amazonservices.com/zh_CN/reports/Reports_Overview.html 接着我们说ReportTypes 枚举,请求报告类型有很多种,我们可以可以使用 ReportTypes 枚举,来指定报告类型,从而获取我们想要得到的相关数据。 ReportTypes枚举有以下分类: 具体大家可以参考以下详细文档: http://docs.developer.amazonservices.com/zh_CN/reports/Reports_ReportType.html 获取相关的报告也分两种形式,有的报告通过:RequestReport 操作,有的是通过ManageReportSchedule或者GetReportList的API接口来获取。 接下来就以GetReportList为例 大家要知道报告有一个特别之处,不是你想要什么时候的数据,他就会给你什么时候的数据,亚马逊服务器会根据一段时间生成,如果没有生成,你也只能获取之前生成了的报告数据。正所谓,不是你想要,我就给你,你得看我的心情。呵呵。 根据调用以上代码就能下载到报告了,能生成一个个你需要的文件。 当然我们可能需要的还不止这样,这样只给我一些文本文件,岂能满足于我做开发?只有把这些数据导入到我的数据库中,我才能心安理得,酣睡长眠呢。 接下来,我们要做的就是解析这些文本文件了,当然,你怎么解析都行,看你自己了。为了暂时想不出怎么解析或者说没怎么研究过的朋友,我献上我的小小法子。 本文很简单,因为本人也是亚马逊MWS的菜鸟一名,刚接触40天,很多东西也不是很懂,不过希望感兴趣的朋友,大家一起交流学习。 Amzon MWS API开发之 请求报告,搜素材,soscw.com Amzon MWS API开发之 请求报告 标签:style blog http color 使用 os io 文件 原文地址:http://www.cnblogs.com/yangda/p/3895618.html
1 public class ReportClient
2 {
3
4 private ReportClient() { }
5
6
7 public ReportClient(string reportType)
8 {
9 this.ReportType = reportType;
10 }
11
12 public string ReportType { get; set; }
13
14 ///
1 public List GetContent(string fileName)
2 {
3 //打开下载好了的文件
4 FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
5 StreamReader sr = new StreamReader(fs, System.Text.Encoding.UTF8);
6 string content = sr.ReadLine(); //获得头行,也就是所有字段名称
7 string[] fields = content.Split(‘\t‘);
8 Liststring> fileList = new Liststring>(fields);
9
10 //接下来,我们记录字段对应所在的列的索引
11 int settlementIndex = fileList.IndexOf("settlement-id");
12 int orderId = fileList.IndexOf("order-id");
13 int shipmentId = fileList.IndexOf("shipment-id");
14 int postedDataIndex = fileList.IndexOf("posted-date");
15 int orderItemIndex = fileList.IndexOf("orderItemCode");
16 int skuIndex = fileList.IndexOf("sku");
17 int quantityIndex = fileList.IndexOf("quantity-purchased");
18
19 int priceTypeIndex = fileList.IndexOf("price-type");
20 int priceAmountIndex = fileList.IndexOf("price-amount");
21 content = sr.ReadLine(); //读取下一行文字,注意,这行就开始是数据了。
22
23 List afList = new List();
24 while (!string.IsNullOrEmpty(content))
25 {
26 content = sr.ReadLine();
27 if (!string.IsNullOrEmpty(content))
28 {
29 string[] values = content.Split(‘\t‘); //每个字段间都有“\t”间隔
30
31 AmazonFee af = new AmazonFee();
32 af.AmazonOrderID = values[orderId];
33 af.AmazonShop = Account.AppName;
34 af.SKU = values[skuIndex];
35 af.Quantity = values[quantityIndex];
36 af.ShipmentId = values[shipmentId];
37 af.Amount = values[priceAmountIndex];
38 afList.Add(af); //获得值
39 }
40 }
41 return afList;
42 }
上一篇:【Linux】C++后台开发面试
下一篇:使用WebdriverJS