Introduktion

Om du vill använda anpassade API i PowerApps måste du ange en Swagger-definition, vilket är ett språkoberoende dokument som kan läsas av en dator och som beskriver åtgärder och parametrar för API. Förutom standardspecifikationen för Swagger finns det vissa tillgängliga tillägg när du skapar en anpassad API för PowerApps.

x-ms-summary

Definierar visningsnamn för enheter som inte har fältet summary definierat i Swagger-definitionen.

x-ms-synlighet

Anger om entiteten ska visas i Microsoft Flow-designern. Följande värden är tillgängliga:

  • "none" (standard)
  • ”advanced”
  • ”internal” - Microsoft Flow-designern visar inte dessa åtgärder

Om en åtgärd som markerats som ”important” förväntas Microsoft Flow-klienten markera dessa åtgärder.

x-ms-trigger

Anger om den här åtgärden kan användas som en utlösare i ett flöde. Alternativen är:

  • none (standard): åtgärden kan inte användas som en utlösare.
  • single: den här åtgärden kan också användas som en utlösare.
  • batched: den här åtgärden kan användas som en utlösare. Dessutom svarar den här åtgärden med en JSON-matris av objekt och flödet startar en utlösare för varje objekt i matrisen.

x-ms-dynamic-values

Det här är ett tips för Microsoft Flow-designern att API:et innehåller en lista över dynamiskt tillåtna värden för den här parametern. Microsoft Flow-designern kan anropa en åtgärd som definieras av värdet för det här fältet och hämta möjliga värden från resultatet. Microsoft Flow-designern kan därefter visa dessa värden för slutanvändaren som alternativ.

Värdet är ett objekt som innehåller följande egenskaper:

  • operationId: En sträng som matchar operationId för den åtgärd som anropas
  • parameters: Ett objekt vars egenskaper som definierar de parametrar som krävs för åtgärden
  • value-collection: En sökvägssträng som utvärderas till en matris med objekt i svarsinnehållet
  • value-path: En sökvägssträng i objektet inuti "value-collection" som refererar till värdet för parametern.
  • value-title: En sökvägssträng i objektet inuti "value-collection" som refererar till en beskrivning av värdet.

Exempel:

"/api/tables/{table}/items": {
  "post": {
    "operationId": "TableData_CreateItem",
    "summary": "Create an object in {Salesforce}",
    "parameters": [
      {
        "name": "table",
        "x-ms-summary": "Object Type",
        "x-ms-dynamic-values": {
          "operationId": "TableMetadata_ListTables",      // operation that needs to be invoked
          "parameters": { },                              // parameters for the above operation, if any
          "value-collection": "values",                   // field that contains the collection
          "value-path": "Name",                           // field that contains the value
          "value-title": "DisplayName"                    // field that contains a display name for the value
      }
      // ...
    ]
    // ...
  }
  // ...
}

I det här exemplet definierar Swagger TableData_CreateItem-åtgärden som skapar ett nytt objekt i Salesforce.

Salesforce har många inbyggda objekt. x-ms-dynamic-values används här för att hjälpa designern att förstå listan med inbyggda Salesforce-objekt. Den hämtar listan genom att anropa TableMetadata_ListTables.

x-ms-dynamic-schema

Det här är ett tips till schemadesignern om att schemat för den här parametern (eller svaret) är dynamiska. Den kan anropa en åtgärd som definieras av värdet för det här fältet och identifiera schemat dynamiskt. Det kan sedan visa ett lämpligt gränssnitt för att hämta indata från användaren eller visa tillgängliga fält.

Exempel:

{
  "name": "item",
  "in": "body",
  "required": true,
  "x-ms-dynamic-schema": {
    "operationId": "Metadata_GetTableSchema",
    "parameters": {
      "tablename": "{table}"              // the value that the user has selected from the above parameter
    },
    "value-path": "Schema"                // the field that contains the JSON schema
  }
},

Detta är användbart i situationer där indata för en åtgärd är dynamiska. Till exempel, i SQL är schemat för varje tabell olika. När en användare väljer en viss tabell, måste flödesdesignern förstå tabellens struktur så att kolumnnamnen kan visas. I det här sammanhanget anropar Swagger motsvarande åtgärd för att hämta schemat om dess definition innehåller x-ms-dynamic-schema.

Nästa steg

Registrera ett anpassat API.

Använd ett ASP.NET Web API.

Registrera ett Azure Resource Manager API.