Types Complex et Enumeration de l’API web
Au sein du document de $métadonnées CSDL, vous trouverez les éléments ComplexType
et EnumType
.
Types Complex
Les Types Complex sont des types structurés nommés sans clés, composés d’un ensemble de propriétés. Les types Complex sont souvent utilisés comme valeurs de propriété dans les définitions de table, ou comme paramètres ou valeurs de retour pour les opérations.
Par exemple le WhoAmI Function renvoie ce 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>
Types Enumeration
Les types Enumeration sont des types primitifs nommés dont les valeurs sont des constantes nommées avec des valeurs entières sous-jacentes.
Par exemple, voici la définition de la 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>
Le type enum AccessRights
est utilisé pour la propriété AccessMask
du PrincipalAccess ComplexType, qui est utilisé pour définir le paramètre PrincipalAccess
pour ModifyAccess Action. Il s’agit de l’action utilisée pour modifier l’accès lors du partage d’un enregistrement.
L’exemple ci-dessous accorde les droits d’accès ReadAccess
, WriteAccess
, DeleteAccess
, AppendAccess
et AssignAccess
à l’enregistrement account
spécifié par le paramètre Target
vers le systemuser
désigné par la propriété Principal
du type complexe PrincipalAccess
.
Demande :
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"
}
}
Réponse :
HTTP/1.1 204 No Content
Étapes suivantes
Effectuez des opérations à l’aide de l’API web.
Voir aussi
Types d’API web et opérations
Documents de service de l’API web
EntityTypes de l’API web
Propriétés de l’API web
Propriétés de navigation de l’API web
Actions de l’API web
Fonctions de l’API web
Utilisation de l’API web Dataverse
OData version 4.0. Type complexe
OData version 4.0. Type Enumeration
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).