Dynamics crm 如何使用Dynamics 365中的Web API获取联系人/帐户字段及其类型的详细信息?

Dynamics crm 如何使用Dynamics 365中的Web API获取联系人/帐户字段及其类型的详细信息?,dynamics-crm,dynamics-crm-webapi,Dynamics Crm,Dynamics Crm Webapi,我是Dynamics 365的新手,目前正在尝试获取有关联系人字段的详细信息(字段名称和字段类型-String、Boolean、Int32等)。换句话说,这里列出的属性:-通过web API,但我找不到任何相关文档 我能找到这些详细信息的唯一地方是元数据端点-api/data/v9.0/$metadata\contacts- <EntityType Name="account" BaseType="mscrm.crmbaseentity"> &

我是Dynamics 365的新手,目前正在尝试获取有关联系人字段的详细信息(字段名称和字段类型-
String、Boolean、Int32
等)。换句话说,这里列出的属性:-通过web API,但我找不到任何相关文档

我能找到这些详细信息的唯一地方是元数据端点-
api/data/v9.0/$metadata\contacts
-

<EntityType Name="account" BaseType="mscrm.crmbaseentity">
<Key>
<PropertyRef Name="accountid"/>
</Key>
<Property Name="territorycode" Type="Edm.Int32"/>
<Property Name="lastusedincampaign" Type="Edm.DateTimeOffset"/>
<Property Name="_msdyn_preferredresource_value" Type="Edm.Guid"/>
<Property Name="address1_name" Type="Edm.String" Unicode="false"/>
<Property Name="timezoneruleversionnumber" Type="Edm.Int32"/>
<Property Name="_owningbusinessunit_value" Type="Edm.Guid"/>
<Property Name="overriddencreatedon" Type="Edm.DateTimeOffset"/>
<Property Name="address1_telephone3" Type="Edm.String" Unicode="false"/>
<Property Name="entityimageid" Type="Edm.Guid"/>
<Property Name="ownershipcode" Type="Edm.Int32"/>
<Property Name="customersizecode" Type="Edm.Int32"/>
<Property Name="_primarycontactid_value" Type="Edm.Guid"/>
<Property Name="creditlimit" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="entityimage_url" Type="Edm.String" Unicode="false"/>
<Property Name="versionnumber" Type="Edm.Int64"/>
<Property Name="_territoryid_value" Type="Edm.Guid"/>
<Property Name="entityimage_timestamp" Type="Edm.Int64"/>
<Property Name="telephone3" Type="Edm.String" Unicode="false"/>
<Property Name="donotbulkpostalmail" Type="Edm.Boolean"/>
<Property Name="address1_freighttermscode" Type="Edm.Int32"/>
<Property Name="address1_postofficebox" Type="Edm.String" Unicode="false"/>
<Property Name="address1_fax" Type="Edm.String" Unicode="false"/>
<Property Name="onholdtime" Type="Edm.Int32"/>
<Property Name="_defaultpricelevelid_value" Type="Edm.Guid"/>
<Property Name="telephone2" Type="Edm.String" Unicode="false"/>
<Property Name="opendeals" Type="Edm.Int32"/>
<Property Name="shippingmethodcode" Type="Edm.Int32"/>
<Property Name="address1_addressid" Type="Edm.Guid"/>
<Property Name="new_fdaccount" Type="Edm.String" Unicode="false"/>
<Property Name="address1_composite" Type="Edm.String" Unicode="false"/>
<Property Name="_createdonbehalfby_value" Type="Edm.Guid"/>
<Property Name="address2_city" Type="Edm.String" Unicode="false"/>
<Property Name="address2_latitude" Type="Edm.Double"/>
<Property Name="entityimage" Type="Edm.Binary"/>
<Property Name="opendeals_state" Type="Edm.Int32"/>
<Property Name="address1_telephone2" Type="Edm.String" Unicode="false"/>
<Property Name="aging90_base" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="address2_postalcode" Type="Edm.String" Unicode="false"/>
<Property Name="address2_name" Type="Edm.String" Unicode="false"/>
<Property Name="primarysatoriid" Type="Edm.String" Unicode="false"/>
<Property Name="_owningteam_value" Type="Edm.Guid"/>
<Property Name="_masterid_value" Type="Edm.Guid"/>
<Property Name="accountnumber" Type="Edm.String" Unicode="false"/>
<Property Name="aging30" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="msdyn_travelchargetype" Type="Edm.Int32"/>
<Property Name="address2_county" Type="Edm.String" Unicode="false"/>
<Property Name="donotbulkemail" Type="Edm.Boolean"/>
<Property Name="_originatingleadid_value" Type="Edm.Guid"/>
<Property Name="emailaddress3" Type="Edm.String" Unicode="false"/>
<Property Name="_modifiedbyexternalparty_value" Type="Edm.Guid"/>
<Property Name="paymenttermscode" Type="Edm.Int32"/>
<Property Name="websiteurl" Type="Edm.String" Unicode="false"/>
<Property Name="revenue" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="merged" Type="Edm.Boolean"/>
<Property Name="address1_shippingmethodcode" Type="Edm.Int32"/>
<Property Name="description" Type="Edm.String" Unicode="false"/>
<Property Name="address2_line1" Type="Edm.String" Unicode="false"/>
<Property Name="aging30_base" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="address1_stateorprovince" Type="Edm.String" Unicode="false"/>
<Property Name="lastonholdtime" Type="Edm.DateTimeOffset"/>
<Property Name="sharesoutstanding" Type="Edm.Int32"/>
<Property Name="sic" Type="Edm.String" Unicode="false"/>
<Property Name="marketcap" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="_owninguser_value" Type="Edm.Guid"/>
<Property Name="_msdyn_workhourtemplate_value" Type="Edm.Guid"/>
<Property Name="_ownerid_value" Type="Edm.Guid"/>
<Property Name="address2_addressid" Type="Edm.Guid"/>
<Property Name="address2_telephone1" Type="Edm.String" Unicode="false"/>
<Property Name="msdyn_travelcharge" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="address1_primarycontactname" Type="Edm.String" Unicode="false"/>
<Property Name="openrevenue" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="statecode" Type="Edm.Int32"/>
<Property Name="address1_latitude" Type="Edm.Double"/>
<Property Name="_msdyn_salestaxcode_value" Type="Edm.Guid"/>
<Property Name="donotfax" Type="Edm.Boolean"/>
<Property Name="msdyn_workorderinstructions" Type="Edm.String" Unicode="false"/>
<Property Name="address1_county" Type="Edm.String" Unicode="false"/>
<Property Name="address2_telephone3" Type="Edm.String" Unicode="false"/>
<Property Name="_transactioncurrencyid_value" Type="Edm.Guid"/>
<Property Name="_preferredserviceid_value" Type="Edm.Guid"/>
<Property Name="accountratingcode" Type="Edm.Int32"/>
<Property Name="msdyn_travelcharge_base" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="stageid" Type="Edm.Guid"/>
<Property Name="address2_composite" Type="Edm.String" Unicode="false"/>
<Property Name="utcconversiontimezonecode" Type="Edm.Int32"/>
<Property Name="donotemail" Type="Edm.Boolean"/>
<Property Name="aging60" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="customertypecode" Type="Edm.Int32"/>
<Property Name="telephone1" Type="Edm.String" Unicode="false"/>
<Property Name="_createdby_value" Type="Edm.Guid"/>
<Property Name="address2_longitude" Type="Edm.Double"/>
<Property Name="marketingonly" Type="Edm.Boolean"/>
<Property Name="_modifiedby_value" Type="Edm.Guid"/>
<Property Name="yominame" Type="Edm.String" Unicode="false"/>
<Property Name="address2_primarycontactname" Type="Edm.String" Unicode="false"/>
<Property Name="openrevenue_date" Type="Edm.DateTimeOffset"/>
<Property Name="address2_country" Type="Edm.String" Unicode="false"/>
<Property Name="address1_line2" Type="Edm.String" Unicode="false"/>
<Property Name="donotsendmm" Type="Edm.Boolean"/>
<Property Name="address1_postalcode" Type="Edm.String" Unicode="false"/>
<Property Name="traversedpath" Type="Edm.String" Unicode="false"/>
<Property Name="numberofemployees" Type="Edm.Int32"/>
<Property Name="tickersymbol" Type="Edm.String" Unicode="false"/>
<Property Name="address1_city" Type="Edm.String" Unicode="false"/>
<Property Name="aging90" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="address1_longitude" Type="Edm.Double"/>
<Property Name="participatesinworkflow" Type="Edm.Boolean"/>
<Property Name="revenue_base" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="creditonhold" Type="Edm.Boolean"/>
<Property Name="address1_telephone1" Type="Edm.String" Unicode="false"/>
<Property Name="createdon" Type="Edm.DateTimeOffset"/>
<Property Name="name" Type="Edm.String" Unicode="false"/>
<Property Name="exchangerate" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="address2_addresstypecode" Type="Edm.Int32"/>
<Property Name="address2_line2" Type="Edm.String" Unicode="false"/>
<Property Name="address1_upszone" Type="Edm.String" Unicode="false"/>
<Property Name="msdyn_externalaccountid" Type="Edm.String" Unicode="false"/>
<Property Name="primarytwitterid" Type="Edm.String" Unicode="false"/>
<Property Name="timespentbymeonemailandmeetings" Type="Edm.String" Unicode="false"/>
<Property Name="openrevenue_state" Type="Edm.Int32"/>
<Property Name="address1_line1" Type="Edm.String" Unicode="false"/>
<Property Name="accountid" Type="Edm.Guid"/>
<Property Name="_slaid_value" Type="Edm.Guid"/>
<Property Name="ftpsiteurl" Type="Edm.String" Unicode="false"/>
<Property Name="followemail" Type="Edm.Boolean"/>
<Property Name="address2_freighttermscode" Type="Edm.Int32"/>
<Property Name="donotphone" Type="Edm.Boolean"/>
<Property Name="accountclassificationcode" Type="Edm.Int32"/>
<Property Name="donotpostalmail" Type="Edm.Boolean"/>
<Property Name="_preferredequipmentid_value" Type="Edm.Guid"/>
<Property Name="teamsfollowed" Type="Edm.Int32"/>
<Property Name="processid" Type="Edm.Guid"/>
<Property Name="address2_telephone2" Type="Edm.String" Unicode="false"/>
<Property Name="address1_addresstypecode" Type="Edm.Int32"/>
<Property Name="address1_utcoffset" Type="Edm.Int32"/>
<Property Name="_parentaccountid_value" Type="Edm.Guid"/>
<Property Name="_msdyn_serviceterritory_value" Type="Edm.Guid"/>
<Property Name="_createdbyexternalparty_value" Type="Edm.Guid"/>
<Property Name="address2_fax" Type="Edm.String" Unicode="false"/>
<Property Name="businesstypecode" Type="Edm.Int32"/>
<Property Name="aging60_base" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="_modifiedonbehalfby_value" Type="Edm.Guid"/>
<Property Name="address2_shippingmethodcode" Type="Edm.Int32"/>
<Property Name="stockexchange" Type="Edm.String" Unicode="false"/>
<Property Name="msdyn_taxexemptnumber" Type="Edm.String" Unicode="false"/>
<Property Name="preferredappointmentdaycode" Type="Edm.Int32"/>
<Property Name="creditlimit_base" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="address1_line3" Type="Edm.String" Unicode="false"/>
<Property Name="_msdyn_billingaccount_value" Type="Edm.Guid"/>
<Property Name="preferredcontactmethodcode" Type="Edm.Int32"/>
<Property Name="fax" Type="Edm.String" Unicode="false"/>
<Property Name="openrevenue_base" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="statuscode" Type="Edm.Int32"/>
<Property Name="address2_upszone" Type="Edm.String" Unicode="false"/>
<Property Name="_slainvokedid_value" Type="Edm.Guid"/>
<Property Name="opendeals_date" Type="Edm.DateTimeOffset"/>
<Property Name="address1_country" Type="Edm.String" Unicode="false"/>
<Property Name="modifiedon" Type="Edm.DateTimeOffset"/>
<Property Name="address2_line3" Type="Edm.String" Unicode="false"/>
<Property Name="address2_postofficebox" Type="Edm.String" Unicode="false"/>
<Property Name="address2_utcoffset" Type="Edm.Int32"/>
<Property Name="msdyn_taxexempt" Type="Edm.Boolean"/>
<Property Name="emailaddress1" Type="Edm.String" Unicode="false"/>
<Property Name="_preferredsystemuserid_value" Type="Edm.Guid"/>
<Property Name="address2_stateorprovince" Type="Edm.String" Unicode="false"/>
<Property Name="preferredappointmenttimecode" Type="Edm.Int32"/>
<Property Name="emailaddress2" Type="Edm.String" Unicode="false"/>
<Property Name="marketcap_base" Type="Edm.Decimal" Scale="Variable"/>
<Property Name="importsequencenumber" Type="Edm.Int32"/>
<Property Name="industrycode" Type="Edm.Int32"/>
<Property Name="accountcategorycode" Type="Edm.Int32"/>


但这会将整个元数据返回为XML,其中包含大量不必要的信息。有什么方法可以将此信息作为JSON检索吗?

这可能有助于您将XML转换为JSON:-

http://goessner.net/download/prj/jsonxml/
您还可以添加此
https://github.com/abdmob/x2js
该库提供XML到JSON(JavaScript对象)的转换函数,反之亦然。该库非常小,不需要任何其他库。
http://jsfiddle.net/abdmob/gkxucxrj/1/

这可能有助于您将XML转换为JSON:-

http://goessner.net/download/prj/jsonxml/
您还可以添加此
https://github.com/abdmob/x2js
该库提供XML到JSON(JavaScript对象)的转换函数,反之亦然。该库非常小,不需要任何其他库。
http://jsfiddle.net/abdmob/gkxucxrj/1/

通常我们将使用它来探索实体/属性元数据。你也可以找到一些浏览器插件

如果您想下载模式元数据,可以转到“设置-自定义-开发人员资源”并下载庞大的xml文件

当您需要代码中的Json元数据时,请使用以下web api端点:

clientURL + "api/data/v9.0/EntityDefinitions(LogicalName='contact')/Attributes"

通常我们将使用它来探索实体/属性元数据。你也可以找到一些浏览器插件

如果您想下载模式元数据,可以转到“设置-自定义-开发人员资源”并下载庞大的xml文件

当您需要代码中的Json元数据时,请使用以下web api端点:

clientURL + "api/data/v9.0/EntityDefinitions(LogicalName='contact')/Attributes"

我意识到这并不是您想要的,但您能否访问Dynamics 365的最小安装?然后,您可以直接查看所有这些字段及其类型。@TobiasKildetoft我可以访问最小安装,但我需要这些信息才能在集成应用程序中使用,并且必须连接不同的Dynamics 365实例。我意识到这不正是您要问的,但是,您能否访问Dynamics 365的最小安装?然后您可以直接查看所有这些字段及其类型。@TobiasKildetoft我可以访问最小安装,但我需要这些信息才能在集成应用程序中使用,并且必须连接不同的Dynamics 365实例。谢谢,如果Dynamics 365没有我可以查询所需数据的端点,这将是最后的手段。谢谢,如果Dynamics 365没有我可以查询所需数据的端点,这将是最后的手段。