REST POST带有参数和.csv文件

本文关键字:csv 文件 参数 POST REST | 更新日期: 2023-09-27 18:18:55

我们最近与一家调查提供商签约,发送调查。它们有一个REST API来导入带有联系人的。csv文件

我看了一下他们在"importPanel"下的文档。我可以成功地使用它来创建一个新的面板(邮件列表),但不能使用rest测试客户端

发布带有请求的csv。

然后我看了看这里,它说"URL:如果存在,Qualtrics API将尝试从指定的URL加载CSV文件;否则,它只是查看数据的POST。"有人能给我解释一下这是什么意思吗?"如果我需要提供大约10个必需的参数,它如何"简单地"在帖子中找到文件?

我在支持单中问过这个问题,我得到的是一个php片段:

<?php
$baseURL = "https://clientname.qualtrics.com/WRAPI/ControlPanel/api.php";
// full path to file you want to include in post
$filePath_panel = "/path/to/panel_data.csv";
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, $baseURL);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($cURL, CURLOPT_MAXREDIRS, 43);
curl_setopt($cURL, CURLOPT_POST, true);
// all options being used, including User, Token, etc.
$options = array(
// insert/update options here
"Request"   => "importPanel",
"User"  => "",
"Token" => "",
"Format"    => "JSON",
"Version"   => "2.2",
"LibraryID" => "",
"Name"  => "",
"ColumnHeaders" => ,
"Email" => ,
"FirstName" => ,
"LastName"  => ,
"Language"  => ,
"AllED" => ,
);
// add file to POST
$options['file'] = "@$filePath_panel";
curl_setopt($cURL, CURLOPT_POSTFIELDS, $options);
$results = curl_exec($cURL);
$info = curl_getinfo($cURL);
?>

我正在寻找各种方法用c#做到这一点,但不确定从哪里开始,我应该使用HttpClientWebRequest吗?

Thanks in advance

REST POST带有参数和.csv文件

根据我对php代码的理解,这些选项被设置为POST数据

如果内容不是多部分的(我没有看到它在请求的任何地方设置),则POST内容在body中编码为查询字符串,如下所示:

var1=value&var2=value&var3=value

url编码值(用%XX替换的特殊字符)以不破坏查询序列是很重要的。

无论如何,我建议不要直接使用WebClient或HttpClient,使用一些REST框架,如RestSharp (http://restsharp.org/),因为它会简化很多你的工作

欢呼。