Crear una API personalizada con código
Nota
Este es un tema avanzado que asume que ya ha leído y comprendido estos temas:
- Crear y usar API personalizadas
- Cree una API personalizada con la herramienta de registro de complementos
También debe conocer cómo crear registros de Microsoft Dataverse, utilizando la API web o el SDK para .NET. Para obtener más información, vea:
Debido a que los datos de la API personalizada se guardan en tablas, puede crear nuevas API mediante programación utilizando la API web o el SDK para .NET.
Las tablas de Tablas de API personalizadas describen todas las propiedades que puede configurar usando código.
Este código usa CrmServiceClient con un estilo de programación de enlace temprano. También puede usar ServiceClient. Más información:
- Usar constructores CrmServiceClient para conectarse a Dataverse
- Programación en tiempo de ejecución y en tiempo de compilación con SDK para .NET
- Crear entidades con SDK para .NET
Este ejemplo muestra la creación de una acción de API personalizada con un parámetro de solicitud y una propiedad de respuesta en una sola operación. Más información: Creación de entidades relacionadas en una operación
Esta api personalizada se crea como parte de una solución con el nombre único CustomAPIExample
y está asociado con un tipo de complemento con id = 00000000-0000-0000-0000-000000000001
.
string conn = $@"
Url = {url};
AuthType = OAuth;
UserName = {userName};
Password = {password};
AppId = 51f81489-12ee-4a9e-aaae-a2591f45987d;
RedirectUri = app://58145B91-0C36-4500-8554-080854F2AC97;
LoginPrompt=Auto;
RequireNewInstance = True";
//var service = new ServiceClient(conn);
var service = new CrmServiceClient(conn);
// var service = new ServiceClient(conn);
//The plug-in type
var pluginType = new EntityReference("plugintype", new Guid("00000000-0000-0000-0000-000000000001"));
var solutionUniqueName = "CustomAPIExample";
//The custom API
var customAPI = new CustomAPI
{
AllowedCustomProcessingStepType = new OptionSetValue(0),//None
BindingType = new OptionSetValue(0), //Global
Description = "A simple example of a custom API",
DisplayName = "Custom API Example",
ExecutePrivilegeName = null,
IsFunction = false,
IsPrivate = false,
Name = "sample_CustomAPIExample",
PluginTypeId = pluginType,
UniqueName = "sample_CustomAPIExample",
IsCustomizable = new BooleanManagedProperty(false),
customapi_customapirequestparameter = new List<CustomAPIRequestParameter>()
{
new CustomAPIRequestParameter {
Description = "The StringParameter request parameter for custom API Example",
DisplayName = "Custom API Example String Parameter",
LogicalEntityName = null,
IsOptional = false,
Name = "sample_CustomAPIExample.StringParameter",
Type = new OptionSetValue(10), //String
UniqueName = "StringParameter",
IsCustomizable = new BooleanManagedProperty(false)
}
},
customapi_customapiresponseproperty = new List<CustomAPIResponseProperty>()
{
new CustomAPIResponseProperty {
Description = "The StringProperty response property for custom API Example",
DisplayName = "Custom API Example String Property",
Name = "sample_CustomAPIExample.StringProperty",
Type = new OptionSetValue(10), //String
UniqueName = "StringProperty",
IsCustomizable = new BooleanManagedProperty(false)
}
}
};
var createReq = new CreateRequest
{
Target = customAPI
};
createReq["SolutionUniqueName"] = solutionUniqueName;
Guid customAPIId = ((CreateResponse)service.Execute(createReq)).id;
Consulte también
Crear y usar API personalizadas
Tablas de API personalizadas
Cree una API personalizada con la herramienta de registro de complementos
Crear una API personalizada en Power Apps
Crear una API personalizada con archivos de solución
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).