Microsoft graph api 无法使用Graph API v1.0创建ToDo任务

Microsoft graph api 无法使用Graph API v1.0创建ToDo任务,microsoft-graph-api,azure-ad-graph-api,microsoft-graph-sdks,microsoft-todo,Microsoft Graph Api,Azure Ad Graph Api,Microsoft Graph Sdks,Microsoft Todo,我试图使用GraphAPIv1.0的ToDo任务特性,使用以下代码创建一个任务 var result = graphServiceClient.Users[outlookUserId].Todo.Lists[listid].Tasks.Request().AddAsync(todoTask).Result; 但是,我从错误中得到以下信息: 代码:invalidRequest消息:名为“microsoft.toDo.todoTask”的类型 无法由模型解析。当模型可用时,每个 类型名称必须解析为

我试图使用GraphAPIv1.0的ToDo任务特性,使用以下代码创建一个任务

var result = graphServiceClient.Users[outlookUserId].Todo.Lists[listid].Tasks.Request().AddAsync(todoTask).Result;
但是,我从错误中得到以下信息:

代码:invalidRequest消息:名为“microsoft.toDo.todoTask”的类型 无法由模型解析。当模型可用时,每个 类型名称必须解析为有效类型。内部错误:代码: InvalidModel附加数据:日期:2020-11-25T09:41:04请求id: 39794548-8f63-443e-a8bc-76ad6091dc8d客户端请求id: 39794548-8f63-443e-a8bc-76ad6091dc8d客户端ID: 39794548-8f63-443e-a8bc-76ad6091dc8d

为了解决上述问题,我已将ToToTask的odatatype设置为null,但出现了另一个异常:

代码:invalidRequest消息:名为 模型无法解析“microsoft.toDo.DateTimeZone”。 当模型可用时,每个类型名称必须解析为有效的 类型。内部错误:代码:InvalidModel附加数据:日期: 2020-11-25T09:43:27请求id:0780add8-3f17-40c5-a92b-e9e62ad08bf8 客户请求id:0780add8-3f17-40c5-a92b-e9e62ad08bf8 客户问题ID:0780add8-3f17-40c5-a92b-e9e62ad08bf8

要解决上述问题,我将DateTimeZone类型的ToToTask的所有数据成员的odatatype设置为null,但随后会出现以下异常:

代码:invalidRequest消息:名为“microsoft.toDo.itemBody”的类型 无法由模型解析。当模型可用时,每个 类型名称必须解析为有效类型。内部错误:代码: InvalidModel附加数据:日期:2020-11-25T09:46:11请求id: 5bafbcab-5090-47b5-ac8e-8c96ec1d6592客户端请求id: 5bafbcab-5090-47b5-ac8e-8c96ec1d6592客户问题: 5bafbcab-5090-47b5-ac8e-8c96ec1d6592

要解决上述问题,我将ToToTask主体的odatatype设置为null,但现在我遇到以下无法解决的异常:

代码:generalException消息:内部服务器错误内部错误: 附加数据:日期:2020-11-25T09:48:23请求id: f5d52f43-c0b4-425e-83ec-652fadb7abf9客户端请求id: f5d52f43-c0b4-425e-83ec-652fadb7abf9客户问题: f5d52f43-c0b4-425e-83ec-652fadb7abf9

对于我们的应用程序,我们需要创建任务并同步到outlook,因为这将投入生产,所以我们不能使用测试版。谁能帮我保存这项任务

更新:

以下是我如何设置ToToTask对象的代码:

var todoTask = new TodoTask();
todoTask.Title = "Subject";
todoTask.DueDateTime = new DateTimeTimeZone() { DateTime = dueDate.Date.ToString()};
todoTask.Status = TaskStatus.NotStarted;
todoTask.Importance = Importance.Normal;
todoTask.Body = new ItemBody
{
     Content = "Test",
     ContentType = BodyType.Text
};
todoTask.IsReminderOn = true;
todoTask.ReminderDateTime = new DateTimeTimeZone() { 
     DateTime = reminderTime.Value.ToString() };
todoTask.Extensions = new TodoTaskExtensionsCollectionPage();
todoTask.Extensions.Add(new OpenTypeExtension{
     ExtensionName = "TestProperty", 
     AdditionalData = new Dictionary<string,object>{{"MyProp","MyValue"}}});
var todoTask=new todoTask();
todoTask.Title=“主题”;
ToToTask.DueDateTime=new DateTimeZone(){DateTime=dueDate.Date.ToString()};
todoTask.Status=TaskStatus.NotStarted;
todoTask.Importance=重要性.Normal;
todoTask.Body=新的ItemBody
{
Content=“Test”,
ContentType=BodyType.Text
};
todoTask.IsReminderOn=true;
ToToTask.ReminderDateTime=新的日期时区(){
DateTime=RememberTime.Value.ToString()};
Extensions=新建ToToToTaskExtensionsCollectionPage();
添加(新的OpenTypeExtension{
ExtensionName=“TestProperty”,
AdditionalData=新字典{{“MyProp”,“MyValue”}});

将odatatype设置为null后,还需要为
DueDateTime
RememberDateTime
设置
时区
属性

例如:

        var todoTask = new TodoTask();
        todoTask.Title = "Subject2";
        todoTask.ODataType = null;
        DateTime dueDate = DateTime.UtcNow.Date;
        DateTime reminderTime = DateTime.UtcNow.Date;
        todoTask.DueDateTime = new DateTimeTimeZone() {
            TimeZone = "UTC",
            ODataType = null,
            DateTime = dueDate.Date.ToString() 
        };
        todoTask.Status = TaskStatus.NotStarted;
        todoTask.Importance = Importance.Normal;
        todoTask.Body = new ItemBody
        {
            ODataType = null,
            Content = "Test",
            ContentType = BodyType.Text
        };
        todoTask.IsReminderOn = true;
        todoTask.ReminderDateTime = new DateTimeTimeZone()
        {
            TimeZone = "UTC",
            ODataType = null,
            DateTime = reminderTime.Date.ToString()
        };
        todoTask.Extensions = new TodoTaskExtensionsCollectionPage();
        todoTask.Extensions.Add(new OpenTypeExtension
        {
            ExtensionName = "TestProperty",
            AdditionalData = new Dictionary<string, object> { { "MyProp", "MyValue" } }
        });
var todoTask=new todoTask();
todoTask.Title=“Subject2”;
todoTask.ODataType=null;
DateTime dueDate=DateTime.UtcNow.Date;
DateTime提醒时间=DateTime.UtcNow.Date;
TOTOTASK.DueDateTime=新日期时区(){
时区=“UTC”,
ODataType=null,
DateTime=dueDate.Date.ToString()
};
todoTask.Status=TaskStatus.NotStarted;
todoTask.Importance=重要性.Normal;
todoTask.Body=新的ItemBody
{
ODataType=null,
Content=“Test”,
ContentType=BodyType.Text
};
todoTask.IsReminderOn=true;
ToToTask.ReminderDateTime=新日期时区()
{
时区=“UTC”,
ODataType=null,
DateTime=提醒时间.Date.ToString()
};
Extensions=新建ToToToTaskExtensionsCollectionPage();
添加(新的OpenTypeExtension
{
ExtensionName=“TestProperty”,
AdditionalData=新字典{{“MyProp”,“MyValue”}
});

我尝试在POSTMAN,Microsoft Graph Explorer中重新编写相同的Graph API调用-它对我很有用。我看到您正在使用SDK,因此请确保您使用最新的NuGet软件包,并查看是否可以重新设置此问题。我尝试使用最新的SDK,但仍然面临相同的问题。让我检查一下……请共享有关如何设置
var todoTask=new todoTask
的完整代码,以便我们进行测试。