QuerySchedule WebAPI函数调用

时间:2019-01-08 21:42:49

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

我正在使用对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调用的人,或者有任何这种帮助的经验的人可以吗?

1 个答案:

答案 0 :(得分:0)

快速进行了浏览器控制台测试,来自this blog post的代码段运行正常。

粘贴博客中的部分代码,当您传递“可用”而不是['0']的{​​{1}}时,代码可能会中断。

TimeCodes

即使您可以将此URL粘贴到浏览器地址栏中以进行智能测试:

请求:

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]