Erstellen einer Custom-API mit Code
Hinweis
Dies ist ein erweitertes Thema, das davon ausgeht, dass Sie diese Themen bereits gelesen und verstanden haben:
- Benutzerdefinierte APIs erstellen und verwenden
- Erstellen Sie eine benutzerdefinierte API mit dem Plug-In-Registrierungstool
Sie sollten auch verstehen, wie man Microsoft Dataverse-Datensätze erstellt, entweder mithilfe der Web-API oder des SDK für .NET. Weitere Informationen finden Sie unter:
Da benutzerdefinierte API-Daten in Tabellen gespeichert werden, können Sie programmatisch neue APIs entweder mit der Web-API oder dem SDK für .NET erstellen.
Die Tabellen in Benutzerdefinierte API-Tabellen beschreiben Sie alle Eigenschaften, die Sie mit Code festlegen können.
Dieser Code verwendet die CrmServiceClient mit einem früh-gebundenen Programmierstil. ServiceClient ist ebenso möglich. Weitere Informationen:
- CrmServiceClient-Konstruktoren verwenden, um eine Verbindung mit Dataverse herzustellen
- Programmierung mit später und früher Bindung mithilfe des SDK für .NET
- Erstellen von Entitäten mit dem SDK für .NET
Dieses Beispiel zeigt die Erstellung einer Custom-API-Aktion mit einem Abfrageparameter und einer Antworteigenschaft in einem einzigen Vorgang. Weitere Informationen: Erstellen verknüpfter Entitäten in einem Vorgang
Diese Custom-API wird als Teil einer Lösung mit dem UniqueName CustomAPIExample
erstellt und ist mit einem Plug-in-Typ mit id = 00000000-0000-0000-0000-000000000001
verknüpft.
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;
Siehe auch
Benutzerdefinierte APIs erstellen und verwenden
Benutzerdefinierte API-Tabellen
Erstellen Sie eine benutzerdefinierte API mit dem Plug-In-Registrierungstool
Erstellen Sie eine angepasste Custom-API in Power Apps
Eine benutzerdefinierte API mit Lösungsdateien erstellen
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).