2

我正在尝试执行该GetAllTimeZonesWithDisplayName函数来检索当前用户的时区;但是我遇到了一些困难

我一直在关注这个博客,但似乎发生了一些变化。根据作者的说法,我应该可以去:

/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 文档中列出

4

1 回答 1

0

根据元数据,该函数绑定到实体Parameter Name="entityset" Type="Collection(mscrm.timezonedefinition)" Nullable="false"/>集,这意味着您应该从集合中启动它。而且,我不知道为什么,绑定函数的使用需要完整的函数名,所以结果将是:

/api/data/v8.2/timezonedefinitions/Microsoft.Dynamics.CRM.GetAllTimeZonesWithDisplayName(LocaleId=1033)

于 2017-10-13T12:07:33.213 回答