Создание вебинара с использованием Citrix API в C#

Я хочу создать вебинар в GoToWebinar, используя Citrix API. У меня следующий код:

public class CreateWebinarTime
{
     public DateTime StartTime { get; set; }
     public DateTime EndTime { get; set; }
}

public class NewWebinar
{
      public string subject { get; set; }
      public string description { get; set; }
      public List<CreateWebinarTime> Times { get; set; }
      public string timeZone { get; set; }
}

string uri = @"https://api.citrixonline.com/G2W/rest/organizers/[ORGKEY]/webinars";
CreateWebinarTime t = new CreateWebinarTime();
t.StartTime = DateTime.Now.AddDays(2);
t.EndTime = t.StartTime.AddHours(2);
List<CreateWebinarTime> tempList = new List<CreateWebinarTime>();
tempList.Add(t);
var newWebinar = new NewWebinar
{
    subject="Webinar Test",
    description="This is a test webinar.. Will be deleted soon",
    Times = tempList,
    timeZone = "Asia/Calcutta"
};
JavaScriptSerializer ser = new JavaScriptSerializer();
string json = ser.Serialize(newWebinar);

WebClient client = new WebClient();
client.Headers = new WebHeaderCollection();
client.Headers.Add("Accept", "application/json");
client.Headers.Add("Content-type", "application/json");
client.Headers.Add("Authorization", string.Format("OAuth oauth_token={0}", OauthToken));
string resp = client.UploadString(uri, "POST", json);

Он показывает мне ошибку "Отсутствуют тема вебинара, время начала или окончания", хотя я передаю значение. Я уверен, что нет проблем с предметом, поэтому есть проблема со временем.

Создан json: {"subject":"Тест вебинара","description":"Это вебинар теста. Скоро будет удален","Times":[{"StartTime":"/Date(1424233883641)/","EndTime":"/ Дата (1424241083641)/"}],"TimeZone":"Азия /Calcutta"}

Пожалуйста, помогите мне исправить это.

1 ответ

Решение

Я решил это сам. Json чувствителен к регистру, и я ошибся там. Использовал "Times" вместо "times", "StartTime" вместо "startTime" и "EndTime" вместо "endTime"

Другие вопросы по тегам