在 C# 中使用 citrix api 创建网络研讨会

Create webinar using citrix api in c#

我想使用 Citrix 在 GoToWebinar 中创建网络研讨会 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);

它向我显示错误 "The webinar subject, start or end time are missing",即使我正在传递值。我确定主题没有问题,所以时间有问题。

创建的json是:{"subject":"Webinar Test","description":"This is a test webinar.. Will be deleted soon","Times":[{"StartTime":"/日期(1424233883641)/","EndTime":"/日期(1424241083641)/"}],"timeZone":"Asia/Calcutta"}

请帮我解决这个问题。

我自己解决了。 Json区分大小写,我在那边弄错了。 使用 'Times' 代替 'times',使用 'StartTime' 代替 'startTime',使用 'EndTime' 代替 'endTime'