Compartir a través de


Ejemplo de funciones y acciones de la API web (C#)

En este ejemplo de .NET 6.0 se muestra cómo realizar operaciones de datos comunes mediante la API web de Dataverse.

Ver este ejemplo en Github

Esta muestra utiliza el código auxiliar común de la biblioteca de clases WebAPIService (C#).

Nota

Este ejemplo implementa las operaciones de Dataverse y la salida de la consola detalladas en el Ejemplo de funciones y acciones de la API web y utiliza las construcciones comunes de C# que se describen en Ejemplos de API web (C#).

Requisitos previos

  • Microsoft Visual Studio 2022.
  • Acceso a Dataverse con privilegios para realizar operaciones de datos.

Cómo ejecutar esta muestra

  1. Clonar o descargar el repositorio de ejemplos de PowerApps.

  2. Localizar la carpeta /dataverse/webapi/C#-NETx/FunctionsAndActions/.

  3. Abra el archivo FunctionsAndActions.sln mediante Visual Studio 2022

  4. Editar el archivo para establecer los siguientes valores de propiedad:

    Propiedad Instrucciones
    Url La URL de su entorno. Reemplace el valor del marcador de posición con el valor para su entorno. Consulte los recursos para desarrolladores para encontrar la URL de su entorno.
    UserPrincipalName Reemplazar el valor de marcador de posición con el valor de UPN que usa para acceder al entorno.
    Password Reemplace el valor del marcador de posición con la contraseña que utiliza.
  5. Guarde el archivo

  6. Presione F5 para ejecutar el ejemplo.

Código

El código para este ejemplo está aquí: PowerApps-Samples/dataverse/webapi/C#-NETx/FunctionsAndActions/Program.cs

Demostraciones

Este ejemplo tiene nueve regiones:

Sección 1: Funciones independientes: "WhoAmI"

Operación: enviar la función WhoAmI y recibir WhoAmIResponse ComplexType.

Sección 2: Funciones no vinculadas FormatAddress

Operaciones:

  1. Envíe FormatAddress Function con parámetros para una dirección en los Estados Unidos. Reciba FormatAddressResponse ComplexType con la dirección formateada.
  2. Haga lo mismo con los parámetros para una dirección en Japón.

Sección 3: Funciones libres: InitializeFrom

Operaciones:

  1. Cree un registro de cuenta para que sea el registro original.
  2. Envíe la función InitializeFrom con parámetros que hagan referencia al registro de cuenta creado. Reciba una respuesta con datos para crear un nuevo registro de cuenta con valores del registro original.
  3. Cree un nuevo registro de cuenta utilizando los datos de de modo que el nuevo registro se asocie con el registro original y posiblemente contenga datos copiados del registro original, según cómo se configuren las asignaciones de columnas para la organización.

Sección 4: Funciones sin vinculación: RetrieveCurrentOrganization

Operación: Envíe la función RetrieveCurrentOrganization y reciba RetrieveCurrentOrganization ComplexType.

Sección 5: Funciones no ligadas RetrieveTotalRecordCount

Operaciones: envíe la función RetrieveTotalRecordCount con parámetros para y tablas y reciba RetrieveTotalRecordCountResponse ComplexType que contiene el número de registros de cada tabla.

Sección 6: Funciones vinculadas: IsSystemAdmin

Operaciones:

  1. Detectar si la organización tiene la API personalizada instalada.
  2. Si no, instale la solución que contiene la API personalizada.
  3. Recuperar 10 registros de usuarios del sistema.
  4. Recorra los registros usando la función para detectar cuáles tienen el rol de seguridad de Administrador del Sistema.

Sección 7: Acciones no vinculadas GrantAccess

Operaciones:

  1. Cree un registro de cuenta para compartir.
  2. Recupere un usuario habilitado que no sea el usuario actual.
  3. La función RetrievePrincipalAccess determina si el otro usuario tiene acceso al registro de cuenta que se ha creado.
  4. Si no tienen , use la acción GrantAccess para compartir este acceso con el otro usuario.
  5. Pruebe el acceso del usuario nuevamente usando para verificar que ahora tienen .

Sección 8: Acciones vinculadas: AddPrivilegesRole

Operaciones:

  1. Cree un registro EntityType de rol asociado a la unidad de negocio del autor de la llamada.
  2. Obtenga el registro de rol con los registros expandidos de EntityType de privilegios para indicar los privilegios incluidos de manera predeterminada.
  3. Recupere la información sobre los privilegiso y .
  4. Utilice la información recuperada sobre esos privilegios para preparar una lista de instancias de ComplexType RolePrivilege que serán parámetros para .
  5. Envíe la acción AddPrivilegesRole con los parámetros .
  6. Recupere nuevamente el registro de rol con los registros de EntityType de privilegios expandidos para mostrar que los privilegios ahora incluyen los privilegios específicos.

Sección 9: Eliminar registros de muestra

Operaciones: Se añadió una referencia de cada registro creado de esta muestra a una lista a medida que se iba creando. Esta sección envía una solicitud para la eliminación del registro.

Limpiar

De forma predeterminada, esta muestra elimina todos los registros creados en ella. Si desea ver los registros creados después de completar la muestra, cambie la variable a y se le pedirá que decida si desea eliminar los registros.

Consulte también

Realizar operaciones condicionales mediante la API web
Usar la API web de Dataverse
Biblioteca de clases WebAPIService (C#)
Ejemplos de la API web
Ejemplo de operaciones básicas de la API web (C#)
Ejemplo de datos de consulta de API web (C#)
Ejemplo de operaciones condicionales de la API web (C#)
Ejemplo de operaciones de esquema de tabla de API web (C#)
Ejemplo de operaciones en paralelo de la API web WebApiService (C#)
Ejemplo de operaciones paralelas de API web con componentes de flujo de datos TPL (C#)