Partager via


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é).