C#HttpClient发布/发布Google Calendar API

时间:2014-10-09 20:16:09

标签: c# httpclient google-calendar-api

我正在尝试对Google Calendar API v3执行PUT以添加与会者,但每次我收到响应400 BAD REQUEST。我已将其简化为只是尝试更新最大与会者人数以确定是否需要,但没有骰子......

        public void AddAttendeeToEvent(string calendarId, string eventId, string attendeeEmail)
        {
        try
        {
            var httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + AuthenticationHelper.Instance.Token);

            var baseUrl = String.Format("https://www.googleapis.com/calendar/v3/calendars/{0}/events/{1}", calendarId, eventId);
            //var postData = string.Format ("attendees[].email={0}", attendeeEmail);
            var postData = "maxAttendees=100";
            var content = new StringContent(postData, Encoding.UTF8, "application/x-www-form-urlencoded");

            var response = httpClient.PutAsync(baseUrl, content).Result;
            response.EnsureSuccessStatusCode ();
        }
        catch(Exception ex)
        {
            string s = "";
        }
    }

注意 - 这是在Xamarin中,没有可用的客户端库。现在必须手动完成......而且这方面的文档太可怕了。

1 个答案:

答案 0 :(得分:0)

我建议您删除此代码并重新使用C#Calendar API客户端库。您可以从文档页面中的下载中获取它:https://developers.google.com/google-apps/calendar/

但是,作为第一步,请阅读入门指南并获取正确的Oauth2令牌。