Komplexe Typen und Enumerationstypen (Web API)
Im CSDL-$-Metadatendokument befinden sich ComplexType
- und EnumType
-Elemente.
Komplexe Typen
Komplexe Typen sind schlüssellose benannte strukturierte Typen, die einen Satz von Eigenschaften enthalten. Komplexe Typen werden als Eigenschaftswerte in Tabellendefinitionen oder als Parameter oder Rückgabewerte für Vorgänge verwendet.
Zum Beispiel gibt WhoAmI Function dies zurück: WhoAmIResponse ComplexType:
<ComplexType Name="WhoAmIResponse">
<Property Name="BusinessUnitId" Type="Edm.Guid" Nullable="false" />
<Property Name="UserId" Type="Edm.Guid" Nullable="false" />
<Property Name="OrganizationId" Type="Edm.Guid" Nullable="false" />
</ComplexType>
Enumerationstypen
Enumerationstypen nennt man primitive Typen, deren Werte Konstanten mit zugrunde liegenden ganzzahligen Werten lauten.
Es folgt zum Beispiel die Definition des AccessRights EnumType
<EnumType Name="AccessRights">
<Member Name="None" Value="0" />
<Member Name="ReadAccess" Value="1" />
<Member Name="WriteAccess" Value="2" />
<Member Name="AppendAccess" Value="4" />
<Member Name="AppendToAccess" Value="16" />
<Member Name="CreateAccess" Value="32" />
<Member Name="DeleteAccess" Value="65536" />
<Member Name="ShareAccess" Value="262144" />
<Member Name="AssignAccess" Value="524288" />
</EnumType>
Der Enumerationstyp AccessRights
wird für die Eigenschaft AccessMask
des PrincipalAccess ComplexType verwendet, mit dem der Parameter PrincipalAccess
für die ModifyAccess Action festgelegt wird. Dies ist die Aktion, die zum Ändern des Zugriffs beim Teilen eines Datensatzes verwendet wird.
Im folgenden Beispiel werden die Zugriffsrechte ReadAccess
, WriteAccess
, DeleteAccess
, AppendAccess
und AssignAccess
auf den account
-Datensatz gewährt, der mit dem Parameter Target
für den systemuser
festgelegt ist, der durch die Eigenschaft Principal
des komplexen Typs PrincipalAccess
bestimmt wird.
Anforderung:
POST [Organization URI]/api/data/v9.0/ModifyAccess
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json; charset=UTF-8
Accept: application/json
{
"Target": {
"accountid": "cbcf8bbc-aa41-ec11-8c62-000d3a53893c",
"@odata.type": "Microsoft.Dynamics.CRM.account"
},
"PrincipalAccess": {
"Principal": {
"systemuserid": "8061643d-ebf7-e811-a974-000d3a1e1c9a",
"@odata.type": "Microsoft.Dynamics.CRM.systemuser"
},
"AccessMask": "ReadAccess,WriteAccess,DeleteAccess,AppendAccess,AssignAccess"
}
}
Antwort:
HTTP/1.1 204 No Content
Nächste Schritte,
Vorgänge mithilfe der Web-API ausführen.
Siehe auch
Internet API-Typen und -Vorgänge
Web API-Servicedokumente
Web API Entitätstypen
Web API-Eigenschaften
Navigationseigenschaften der Web API
Web API-Aktionen
Web API-Funktionen
Dataverse-Web API verwenden
OData Version 4.0. Komplexer Typ
OData Version 4.0. Enumerationstyp
Hinweis
Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)
Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).