Amazon 上传数据的流程为:

  1. 通过 SubmitFeed 操作、加密标头和所有必需的元数据(包括 FeedType 的值在内),来提交 XML 或文本型数据文件。正如亚马逊 MWS的所有提交内容一样,您还必须包括验证信息。SubmitFeed 操作可返回 FeedSubmissionId 的值,您可以使用该值,通过 GetFeedSubmissionList 操作,对上传数据状态进行定期检查。
  2. 如果亚马逊 MWS仍在处理请求,则 GetFeedSubmissionList 操作的 FeedProcessingStatusList 参数可返回状态为 _IN_PROGRESS_。如果处理已完成,则所返回状态为 _DONE_
  3. 上传数据处理完毕后,您可以通过 GetFeedSubmissionResult 操作,来接收处理报告,该处理报告会指明上传数据中的哪些记录已成功处理,而哪些记录已生成错误。请注意,您必须创建提交 GetFeedSubmissionResult 操作时亚马逊 MWS用来写入报告的流。将亚马逊 MWS上传数据 API 部分客户端库代码用于 GetFeedSubmissionResult 操作,以创建流。
  4. 对处理报告加以分析,更正文件或传送中的错误,然后通过 SubmitFeed 操作重新提交上传数据。不断重复此过程,直到处理报告中不再有错误。当处理报告无任何错误时,传送即完成。

上面这段话债至Amazon 官方介绍,详见 http://docs.developer.amazonservices.com/zh_CN/feeds/index.html

主要就是三个步骤,首先上传数据,其次查询上传操作的工作状态,最后处理上传操作返回的报告。

上面三个步骤需要的工作流程均为:设置服务--->构造请求--->提交请求,其中服务的设置是一样的,请求是各有不同。

现在首先说一下设置服务,在开始写程序之前,我们需要得到我们将要引用的类库MarketplaceWebService,这个类库可以在官方的Demo https://developer.amazonservices.com.cn/doc/bde/feeds/v20090901/cSharp.html 中得到。将这个类库引用到我们的程序中

设置服务的代码示例如下:

  #region 设置服务信息
/// <summary>
/// 设置服务
/// </summary>
/// <returns>返回服务对象</returns>
private MarketplaceWebServiceClient GetService()
{
String accessKeyId = "***********";
String secretAccessKey = "************"; const string applicationName = "AllureCSharpScratchpad";
const string applicationVersion = "1.0"; MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
config.ServiceURL = "https://mws.amazonservices.com"; MarketplaceWebServiceClient service = new MarketplaceWebServiceClient(accessKeyId, secretAccessKey, applicationName, applicationVersion, config); return service;
}
#endregion

其中accessKeyId和secretAccessKey由商家提供,这样 Amazon 的服务就设置好了。至于为什么要这么写呢,这是Amazon规定的。

Amazon MWS 上传数据 (一) 设置服务的更多相关文章

  1. Amazon MWS 上传数据 (三) 提交请求

    前面介绍了设置服务和构造请求,现在介绍提交请求. 上传数据,查询上传操作的工作状态,和处理上传操作返回的报告操作使用的Amazon API 分别为:SubmitFeed(),FeedSubmissio ...

  2. Amazon MWS 上传数据 (二) 构造请求

    上一篇文章提到了Amazon 上传数据有三个步骤,但是每个步骤都需要构造服务和构造请求,服务是一样的,请求各不相同:这个很容易理解,这三个步骤都需要和Amazon服务器交互,所以他们的服务构造是一样的 ...

  3. webclient上传数据到ashx服务

    1.上传参数 UploadData()方法可以上传数据参数,需要将所要上传的数据拼成字符. // 创建一个新的 WebClient 实例.    WebClient myWebClient = new ...

  4. Amzon MWS API开发之 上传数据

    亚马逊上传数据,现有能操作的功能有很多:库存数量.跟踪号.价格.商品....... 我们可以设置FeedType值,根据需要,再上传对应的xml文件即可. 下面可以看看FeedType类型 这次我们拿 ...

  5. TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]

    TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...

  6. webuploader 上传文件参数设置

    webUploader 是款很好用的优秀的开源上传组件,由百度公司开发,详细的介绍可参见webUploader 的官方文档: 最近在使用webUploader时,需要添加额外的参数,并在后台获取,参数 ...

  7. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件

    [源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...

  8. HTTP上传数据 :表单,二进制数据(multipart/form-data application/octet-stream boundary)

    使用WinINet 一个较简单的例子:上传头像 void CBackstageManager::UpdateAvatarThreadProc(LPVOID params) { stForThread* ...

  9. Hibernate上传数据到数据库,从数据库读取数据到本地模板代码

    1.Hibernate上传数据到数据库: //创建一个session对象 Session session1=HibernateTools.getSession(); //Fenciresult数据库表 ...

随机推荐

  1. C++程序设计实践指导1.4正整数转换为字符串改写要求实现

    改写要求1:改为适合处理超长整数 #include <cstdlib> #include <iostream> #include <string> using na ...

  2. C++标准程序读书笔记-第三章错误和异常处理

    1.命名空间(namespace)std C++标准程序库中的所有标示符都被定义于一个名为std的namespace 2.标准异常类别 (1)语言本身或标准程序库所抛出的所有异常,都派生自基类exce ...

  3. Redis 作为缓存服务器的配置

    随着redis的发展,越来越多的架构用它取代了memcached作为缓存服务器的角色,它有几个很突出的特点:1. 除了Hash,还提供了Sorted Set, List等数据结构2. 可以持久化到磁盘 ...

  4. c#中override重写和new隐藏

    最近学习c#,昨晚看书看到多态.由于个人本身是从事java开发,于是拿来做对比便是自然的. 进入主题吧. c#中,子类要重写基类的方法,必须要基类声明中带有virtual关键字方法或者带有abstra ...

  5. 小希的迷宫--hdu1272(并查集)

    小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  6. Oracle EBS-SQL (CST-4):检查组织间项目成本.sql

    select       i1.segment1                                                                           项 ...

  7. sql server遍历表不用游标和临时表的方法

    表结果如图 )) ,'Sky,Blue,Water' ,'Book,Apple,Shirt' ,'Cup,Yellow,org' ,'box,phone,paper' GO SELECT id,SUB ...

  8. 电子科大POJ "整数的千位分隔"

    整数的千位分隔 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) C-source ...

  9. xml中,button改变背景颜色方法

    在画几个设置界面,用到了button控件,对于button空间的背景色在不同状态下的颜色改变方法,做了一下尝试,发现了两种背景颜色改变的方法,就总结了下. 方法一尝试了好多遍才好,要点在于,在sele ...

  10. 奇妙的算法之LCS妙解

    LCS算法妙解 LCS问题简述:最长公共子序列 一个数列 S,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则S 称为已知序列的最长公共子序列. LCS问题的分支:最长公共子串 ...