Freigeben über


Erstellen einer Custom-API mit Code

Hinweis

Dies ist ein erweitertes Thema, das davon ausgeht, dass Sie diese Themen bereits gelesen und verstanden haben:

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:

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