【发布时间】:2019-10-23 14:54:32
【问题描述】:
我希望通过 C# 使用 smartsheets C# sdk 或 With 和 HTTP PUT 请求更新 Multi_Contact Cell。
我已阅读您必须执行 HTTP 请求才能执行此操作。我已经创建了 WebClient 并提交了请求,但我不断收到错误的请求响应。我显然击中了正确的目标,但我认为我的头球不好。 (任何编辑出来的代码都写成##)我哪里错了?
class APIHELPER
{
/// <summary>
///
/// </summary>
/// <param name="value"> value[i][0] is email . value[i][1] is name First Last. </param>
public static void SendMultiEmailPut(Int64 SheetID, Int64 columnID, Int64 rowID, List<List<string>> value)
{
HttpClient ApiClient = new HttpClient();
ApiClient.DefaultRequestHeaders.Accept.Clear();
ApiClient.BaseAddress = new Uri(@"https://api.smartsheet.com/2.0/sheets/"+ SheetID.ToString() + @"/rows");
ApiClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
ApiClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "#########"); //the authentication code is here
string myJsonRequest = @"[{""id"": " + rowID.ToString() + @", ""cells"": [ {""columnId"": "+columnID.ToString()+@",""objectValue"": {""objectType"": ""MULTI_CONTACT"",""values"": [";
List<string> LastElement = value.Last();
foreach (List<string> NE in value)
{
if (NE == LastElement)
{
myJsonRequest = myJsonRequest + @"{""objectType"": ""CONTACT"",""email"": """ + NE[0] + @""",""name"": """+ NE[1] +@"""}";
}
else
{
myJsonRequest = myJsonRequest + @"{""objectType"": ""CONTACT"",""email"": """ + NE[0] + @""",""name"": """ + NE[1] + @"""},";
}
}
myJsonRequest = myJsonRequest + @"] } }]}]";
var Response = ApiClient.PutAsJsonAsync(ApiClient.BaseAddress, myJsonRequest).Result;
}
}
【问题讨论】:
标签: c# smartsheet-api smartsheet-c#-sdk-v2