我尝试执行GetAllTimeZonesWithDisplayName
功能来检索当前用户的时区;但是我遇到了一些困难
我一直关注这个blog,但似乎已经发生了变化。据作者说,我应该可以去:
/api/data/v8.2/GetAllTimeZonesWithDisplayName(LocaleId=1033)
但这会导致如下错误:
{
"error":
{
"code":"",
"message":"Resource not found for the segment 'GetAllTimeZonesWithDisplayName'.",
"innererror":{
"message":"Resource not found for the segment 'GetAllTimeZonesWithDisplayName'.",
"type":"Microsoft.OData.Core.UriParser.ODataUnrecognizedPathException"
,"stacktrace":...
}
}
}
所以我查看了元数据(/api/data/v8.2/$metadata
),我可以看到这个方法需要两个参数(我认为)
<Function Name="GetAllTimeZonesWithDisplayName" IsBound="true">
<Parameter Name="entityset" Type="Collection(mscrm.timezonedefinition)" Nullable="false"/>
<Parameter Name="LocaleId" Type="Edm.Int32" Nullable="false"/>
<ReturnType Type="Collection(mscrm.crmbaseentity)" Nullable="false"/>
</Function>
但我不知道entityset
参数需要什么,而且它似乎没有列在MSDN documentation
答案 0 :(得分:0)
根据元数据,该函数绑定到实体集Parameter Name="entityset" Type="Collection(mscrm.timezonedefinition)" Nullable="false"/>
意味着您应该从集合中启动它。并且,我不知道为什么,使用绑定函数需要完整的函数名称,因此结果将是:
/api/data/v8.2/timezonedefinitions/Microsoft.Dynamics.CRM.GetAllTimeZonesWithDisplayName(LocaleId=1033)