Salesforce Rest API 补丁操作 - 错误请求
Salesforce Rest API patch operation - Bad Request
我正在尝试对我们组织的 Salesforce API 调用 PATCH 操作。
url 是正确的(格式 - https://xxxx.salesforce.com/services/data/v43.0/sobjects/Classification__c/objectid?_HttpMethod=PATCH),JSON 内容也是正确的,尽管您可能无法从下面的代码中判断出来。
public async Task PatchSalesforceObjectAsync(string objectToPost, string objectid, HttpContent content)
{
SetupHttpClient();
using (_response = await _httpClient.PostAsync($"{_sfObjectPartialURL}{objectToPost}{objectid}?_HttpMethod=PATCH", content))
{
if (_response.IsSuccessStatusCode)
{
var x = _response.Content;
}
}
}
void SetupHttpClient()
{
_httpClient = new HttpClient();
_httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", _sfAccesstoken);
_httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
_httpClient.BaseAddress = _baseURI;
}
响应 - StatusCode:400、ReasonPhrase:Bad 请求
我已经通过 POSTMAN 发出了完全相同的请求并且一切顺利,所以我猜测问题出在我如何在 .Net 框架中进行调用。
我也试过使用 HttpRequestMessage 对象,然后在 HttpClient 对象上调用 SendAsync,但结果相同。
HttpRequestMessage message = new HttpRequestMessage()
{
Method = new HttpMethod("PATCH"),
RequestUri = new Uri(_baseURI, $"{_sfObjectPartialURL}{objectToPost}{objectid}"),
Content = content,
};
using (_response = await _httpClient.SendAsync(message))
{
新手错误 - 补丁中有一个字段不允许我更新,因为我正在处理同一个对象并根据对象是否已经在 POST 和 PATCH 之间切换存在 我不知道这个字段级限制。
我正在尝试对我们组织的 Salesforce API 调用 PATCH 操作。 url 是正确的(格式 - https://xxxx.salesforce.com/services/data/v43.0/sobjects/Classification__c/objectid?_HttpMethod=PATCH),JSON 内容也是正确的,尽管您可能无法从下面的代码中判断出来。
public async Task PatchSalesforceObjectAsync(string objectToPost, string objectid, HttpContent content)
{
SetupHttpClient();
using (_response = await _httpClient.PostAsync($"{_sfObjectPartialURL}{objectToPost}{objectid}?_HttpMethod=PATCH", content))
{
if (_response.IsSuccessStatusCode)
{
var x = _response.Content;
}
}
}
void SetupHttpClient()
{
_httpClient = new HttpClient();
_httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", _sfAccesstoken);
_httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
_httpClient.BaseAddress = _baseURI;
}
响应 - StatusCode:400、ReasonPhrase:Bad 请求
我已经通过 POSTMAN 发出了完全相同的请求并且一切顺利,所以我猜测问题出在我如何在 .Net 框架中进行调用。
我也试过使用 HttpRequestMessage 对象,然后在 HttpClient 对象上调用 SendAsync,但结果相同。
HttpRequestMessage message = new HttpRequestMessage()
{
Method = new HttpMethod("PATCH"),
RequestUri = new Uri(_baseURI, $"{_sfObjectPartialURL}{objectToPost}{objectid}"),
Content = content,
};
using (_response = await _httpClient.SendAsync(message))
{
新手错误 - 补丁中有一个字段不允许我更新,因为我正在处理同一个对象并根据对象是否已经在 POST 和 PATCH 之间切换存在 我不知道这个字段级限制。