【问题标题】:QuerySchedule WebAPI function call查询调度 Web API 函数调用
【发布时间】:2019-01-08 21:42:49
【问题描述】:

我正在使用对 Dynamics 365 的 Web API 调用来获取函数 QuerySchedule 的结果。我也尝试过将其用作绑定函数。但是它们都没有返回预期的结果。以下是有关此的文档: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/queryschedule?view=dynamics-ce-odata-9

我尝试了不同的资源 ID、在调用中指定 enum 类型的不同方法、完全限定的函数名等,但我总是出错。

以下是我的电话:

https://mycrm.com/api/data/v9.0/QuerySchedule(ResourceId=@p1,Start=@p2,End=@p3,TimeCodes=@p4)?@p1=resourceguid&@p2=2019-01-05T09:27:39Z&@p3=2019-01-05T21:27:39Z&@p4=Available

输出应为 QueryScheduleResponse,如下面的链接所述: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/queryscheduleresponse?view=dynamics-ce-odata-9

但我不断收到错误消息:

对象引用未设置为对象的实例。

任何使用 OData 对 Dynamics 365 进行 Web api 调用或对此有任何经验的人都可以提供帮助吗?

【问题讨论】:

  • 我可以假设您使用的是 D365 CE v9.2 吗?也许您想简化查询并将简化的 URL 放入浏览器?

标签: dynamics-crm odata dynamics-365 dynamics-crm-webapi


【解决方案1】:

快速做了一个浏览器控制台测试,this blog post 的代码 sn-p 运行良好。

从博客中粘贴部分 sn-p,您的代码可能会中断,因为您将“可用”而不是 ['0'] 传递给 TimeCodes

var requestUrl = "/api/data/v9.0/QuerySchedule(ResourceId=@p1,Start=@p2,End=@p3,TimeCodes=@p4)";
requestUrl += "?@p1=" + context.getUserId().replace("{", "").replace("}", "");
//put Id of resource you want get data for as parameter 1

requestUrl += "&@p2=" + JSON.stringify(start).replace(/"/g, "");
requestUrl += "&@p3=" + JSON.stringify(end).replace(/"/g, "");
requestUrl += "&@p4=" + JSON.stringify(['0']);

你甚至可以在浏览器地址栏中粘贴这个网址进行智能测试:

请求:

https://test.crm.dynamics.com/api/data/v9.0/QuerySchedule(ResourceId=@p1,Start=@p2,End=@p3,TimeCodes=@p4)?@p1=0EEE678F-C4FF-E711-A959-000D3A1A941E&@p2=2019-01-15T09:27:39Z&@p3=2019-01-15T21:27:39Z&@p4=['0']

您可能会注意到['0'] 变成了[%270%27],但会出现以下预期的响应。

回应:

{"@odata.context":"https://test.crm.dynamics.com/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.QueryScheduleResponse","TimeInfos":[{"Start":"2019-01-15T00:00:00Z","End":"2019-01-16T00:00:00Z","TimeCode":"Available","SubCode":"Schedulable","SourceId":"15f40c32-1609-46db-93da-1bbb8eb19c9d","CalendarId":"69b0ee2b-bad7-4b8e-9bcc-d03e76b45a03","SourceTypeCode":4004,"IsActivity":false,"ActivityStatusCode":-1,"Effort":1.0,"DisplayText":""}]}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2021-11-06
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    相关资源
    最近更新 更多