Я работаю над консольным приложением ac #, которое интегрируется с HubSpot API. и чтобы иметь возможность отправлять дату и время в API, мне нужно преобразовать его в «метки времени в формате UNIX в миллисекундах с временем UTC», как указано в их документации Как отформатировать метки времени для API-интерфейсов HubSpot? . поэтому я попробовал следующее: -
RootObject ro = new RootObject() { objectId = t.companyId };
ro.properties.Add(new Property { name = "latest_update_date", value = (((DateTimeOffset)(System.DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc))).ToUnixTimeMilliseconds()).ToString() });
, но мой запрос был отклонен из-за формата даты и времени The remote server returned an error: (400) Bad Request
. наш хост-сервер - это Windows 2012, которая следует следующей зоне дат: -
Вот пример результата, который я получу от преобразования DateTime 1572477823752
Вот WebClient
, который я использую для интеграции с API, и который вызовет ошибку The remote server returned an error: (400) Bad Request
, если я передаю значение даты: -
using (WebClient wc = new WebClient())
{
string url = "https://api.hubapi.com/companies/v1/batch-async/update?hapikey=*****";
Uri uri = new Uri(url);
wc.Encoding = System.Text.Encoding.UTF8;
wc.Headers.Add(HttpRequestHeader.ContentType, "application/json");
var apiupdateresults = wc.UploadString(uri, data);
Console.WriteLine("Api update results= " + apiupdateresults);
}