Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过Microsoft Graph API创建主类别_C#_Api_Outlook_Microsoft Graph Api - Fatal编程技术网

C# 通过Microsoft Graph API创建主类别

C# 通过Microsoft Graph API创建主类别,c#,api,outlook,microsoft-graph-api,C#,Api,Outlook,Microsoft Graph Api,我正试图通过outlook事件创建一个新类别。以下是我到目前为止的情况 using (var client = new HttpClient()) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AdviserBearerToken); client.DefaultRequestH

我正试图通过outlook事件创建一个新类别。以下是我到目前为止的情况

  using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AdviserBearerToken);
                client.DefaultRequestHeaders.Accep.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                var categoryName = new List<string>();
                categoryName.Add("New Event");

                var startTime = new Time();
                var endTime = new Time();
                startTime.DateTime = "2016-07-15T15:00:00.0000000";
                startTime.TimeZone = "UTC";
                endTime.DateTime = "2016-07-15T15:30:00.0000000";
                endTime.TimeZone = "UTC";

                var eventModel = new EventModelForGraph
                {
                    categories = categoryName,
                    subject = "This is an event",
                    Start = startTime,
                    End = endTime

                };
                var serializedObject = JsonConvert.SerializeObject(eventModel);
                var createBody = new StringContent(serializedObject, System.Text.Encoding.UTF8, "application/json");
                var response = await client.PostAsync("https://graph.microsoft.com/v1.0/me/calendar/events", createBody);

                var responseString = await response.Content.ReadAsStringAsync();
            }
使用(var-client=new-HttpClient())
{
client.DefaultRequestHeaders.Authorization=新的AuthenticationHeaderValue(“承载人”,advisorBeaerToken);
client.DefaultRequestHeaders.Accep.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
var categoryName=新列表();
categoryName.Add(“新事件”);
var startTime=新时间();
var endTime=新时间();
startTime.DateTime=“2016-07-15T15:00:00.0000000”;
startTime.TimeZone=“UTC”;
endTime.DateTime=“2016-07-15T15:30:00.0000000”;
endTime.TimeZone=“UTC”;
var eventModel=新的eventmodelfraph
{
类别=类别名称,
subject=“这是一个事件”,
开始=开始时间,
结束=结束时间
};
var serializedObject=JsonConvert.SerializeObject(eventModel);
var createBody=newstringcontent(serializedObject,System.Text.Encoding.UTF8,“application/json”);
var response=wait client.PostAsync(“https://graph.microsoft.com/v1.0/me/calendar/events“,createBody);
var responseString=await response.Content.ReadAsStringAsync();
}
该事件显示在日历中,类别作为标题,但它没有列在分类选项卡下,这会导致我的问题。
是否可以使用API创建此类类别?

否,您不能通过REST API将类别添加到主类别列表中。您不能通过任何API直接添加它们

但是,如果愿意直接操作XML,可以修改列表。血淋淋的细节记录在。例如,您可以使用EWS访问配置项


这将是添加到RESTAPI的一个很好的特性。您应该建议使用它。

否,您不能通过REST API将类别添加到主类别列表中。您不能通过任何API直接添加它们

但是,如果愿意直接操作XML,可以修改列表。血淋淋的细节记录在。例如,您可以使用EWS访问配置项


这将是添加到RESTAPI的一个很好的特性。你应该提出建议。

我知道这是一个老问题,但我也在研究同样的问题,我想我会发布一个更新。这在当前版本的Graph API中是可能的。您可以从MSDN中查看文档。您可以通过发送
POST
API请求来创建类别:

POST https://graph.microsoft.com/beta/me/outlook/masterCategories
Content-type: application/json
Content-Length: 70

{
      "displayName":"Project expenses",
      "color":"preset9"
}
创建类别后,通过将类别的
displayName
属性添加到项目的
categories
集合,可以在创建事件时分配类别


您可以找到有关何时添加这些API端点的更多详细信息以及有关类别的更多详细信息。

我知道这是一个较老的问题,但我正在研究同样的问题,并认为我应该发布更新。这在当前版本的Graph API中是可能的。您可以从MSDN中查看文档。您可以通过发送
POST
API请求来创建类别:

POST https://graph.microsoft.com/beta/me/outlook/masterCategories
Content-type: application/json
Content-Length: 70

{
      "displayName":"Project expenses",
      "color":"preset9"
}
创建类别后,通过将类别的
displayName
属性添加到项目的
categories
集合,可以在创建事件时分配类别

您可以找到有关何时添加这些API端点的更多详细信息以及有关类别的更多详细信息