【问题标题】:HTTP Post Request (CSV File to ebay) with VBA使用 VBA 的 HTTP 发布请求(CSV 文件到 ebay)
【发布时间】:2021-05-17 14:26:00
【问题描述】:

eBay CSV 管理器可以上传 CSV 文件,以在 eBay 卖家工具中将所有已付款和已发送的物品标记为已发送。我的 Excel 宏创建了这样一个 CSV 文件。现在,我想通过 HTTP Post Request 上传这个文件。

在 eBay 的 CSV 管理器手册中,他们说:

文件只能通过 Token 上传。每次上传时,此令牌必须与文件一起发送。它实际上是进入 CSV 管理器的关键。

我已经有了令牌。

继续说

必须将 HTTP Post 请求发送到 eBay CSV 管理器服务器以通过脚本上传文件。必须启动 HTTPS 连接,并且必须将数据与令牌一起发送到 CSV 管理器网址https://bulksell.ebay.com/ws/eBayISA...ExchangeUpload

eBay 在其 CSV 管理器手册中有一个请求示例:

POST /path/to/upload/script HTTP/1.0

连接:保持活动状态

用户代理:我的客户端应用程序 v1.0

主持人:

https://bulksell.ebay.com/ws/eBayISA...ExchangeUpload

内容类型:multipart/form-data;

boundary=THIS_STRING_SEPARATES

内容长度:256

--THIS_STRING_SEPARATES

内容配置:表单数据;名称="令牌"

12345678987654321

--THIS_STRING_SEPARATES

内容配置:表单数据;名称="文件";

filename="listings.csv"

内容类型:文本/csv

... Listings.csv 的内容 ...

--THIS_STRING_SEPARATES

例子的解释是:

说明必须将哪种方法应用于资源:

POST /path/to/upload/script HTTP/1.0

连接类型、用户代理和主机信息:

连接:保持活动状态

用户代理:我的客户端应用程序 v1.0

主持人:https://bulksell.ebay.com/ws/eBayISA...ExchangeUpload

带有文件内容和长度信息的标题:

内容类型:multipart/form-data;边界=THIS_STRING_SEPARATES

内容长度:256

安全令牌和要上传的内容:

--THIS_STRING_SEPARATES

内容配置:表单数据;名称="令牌"

12345678987654321

--THIS_STRING_SEPARATES

内容配置:表单数据;名称=“文件”;文件名="listings.csv"

内容类型:文本/csv

... Listings.csv 的内容 ...

--THIS_STRING_SEPARATES

如何进行 HTTP 请求以及如何将其集成到 VBA 代码中?

【问题讨论】:

标签: vba csv http post request


【解决方案1】:

REST API 的概念是您将数据文件发布到 API 端点。您需要使用 microsoft http 插件之一来构建包含标头和正文的有效负载并将其发布到 require API。

你的宏需要多个部分来实现这个功能

  1. 用于存储令牌的登录功能
  2. 一个正文构造函数,您可以在其中读取 Excel 数据并将其转换为 json 格式。
  3. 头构造函数
  4. 使用 microsoft http 文档处理程序将相关数据发布到网关 api 的发布功能。

但是,如果您打算将 CSV 作为数据发送,那么最好编写一个 vbscript 来快速将文件发布到 API。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 2020-02-29
    • 2014-08-08
    相关资源
    最近更新 更多