Anslutningsmetoder för generativa sidor

Använd anslutningsmetoderna för dataApi objektet för att arbeta med data som exponeras av en Power Platform-anslutningsapp som är bunden till sidan.

Note

Anslutningsmetoder är valfria i det delade dataApi kontraktet. Vissa värdar implementerar dem inte, så kontrollera att det finns en metod innan du anropar den. En metod som finns innebär inte att sidan har en koppling som är bunden till den, eller att anslutningen, datamängden, tabellen eller åtgärden konfigureras, auktoriseras eller tillåts som förväntat.

Till skillnad från åtgärds- och funktionsmetoderna avvisar anslutningsmetoder det returnerade löftet när ett anrop misslyckas, till exempel när anslutningsreferensen inte kan matchas, anslutningen är inte auktoriserad och användaren slutför inte medgivandeprompten, eller så returnerar anslutningsappen en felstatus. executeConnectorOperation löser med ok: false för de flesta felstatusar, men avvisar fortfarande för en åtgärd som saknas, en obehörig anslutning (403) utan slutfört medgivande eller ett transportfel. Omsluta anslutningsanrop i try/catch.

Method Description
createConnectorRow Skapar en ny rad i den angivna anslutningstabellen.
deleteConnectorRow Tar bort en rad från den angivna anslutningstabellen.
executeConnectorOperation Anropar en namngiven åtgärd som exponeras av en REST-anslutningsapp (åtgärdsnyckel), till exempel Office 365-användare.
getConnectorSwagger Hämtar Swagger-definitionen (OpenAPI) för anslutningsappen.
getConnectorTableSchema Hämtar schemat för en tabell (kallas även en entitet eller lista) som exponeras av anslutningsappen.
listConnectorDatasets Visar en lista över tillgängliga datauppsättningar för anslutningsappen.
listConnectorOperations Visar en lista över de åtgärder som exponeras av en REST-anslutning (åtgärdsnyckel).
listConnectorTables Visar en lista över tillgängliga tabeller i den angivna anslutningsdatauppsättningen.
queryConnectorTable Frågar en tabell som exponeras av anslutningsappen med de angivna alternativen.
retrieveConnectorRow Hämtar en enskild rad från den angivna anslutningstabellen.
updateConnectorRow Uppdaterar en befintlig rad i den angivna anslutningstabellen.

queryConnectorTable metod

Frågar en tabell som exponeras av anslutningsappen med hjälp av de angivna alternativen.

Parameters

Ange värden för dessa obligatoriska parametrar.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan (till exempel sp_shared_sharepointonline).
dataset string Datauppsättningen som innehåller tabellen, till exempel en SharePoint webbplats-URL.
tableName string Tabellens interna namn från egenskapen name som returneras av listConnectorTables. Använd inte visningsnamnet.
options QueryConnectorTableOptions Alternativ för att fråga tabellen.

QueryConnectorTableOptions

Name Type Description
select string[] (Rekommenderas) Matris med kolumnnamn som ska hämtas.
filter string (Valfritt) Filteruttryck som stöds av anslutningsappen.
orderBy string (Valfritt) Order-by-uttryck som stöds av anslutningsappen.
top number (Valfritt) Maximalt antal rader som ska returneras.

Returns

Ett löfte som innehåller resultatet av åtgärden. När åtgärden lyckas returnerar löftet ett objekt som innehåller en datatabell med resultatet med följande egenskaper:

Name Type Description
rows Object[] Matris med raddata.
hasMoreRows boolean Anger om det finns fler rader tillgängliga.

queryConnectorTable returnerar en enda sida med resultat. Den returnerar inte någon fortsättningsfunktion och det finns för närvarande inget sätt att hämta nästa sida. När hasMoreRows är truematchar fler rader än vad som returnerades. Begränsa frågan med filtereller berätta för användaren att resultatet är ofullständigt.

queryConnectorTable-exempel

if (!dataApi.listConnectorTables || !dataApi.queryConnectorTable) {
  throw new Error("Connector methods aren't available on this page.");
}

const tables = await dataApi.listConnectorTables(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing"
);
const documentsTable = tables.find((table) => table.displayName === "Documents");
if (!documentsTable) {
  throw new Error("The Documents table wasn't found in this dataset.");
}
const documentsTableName = documentsTable.name;

const result = await dataApi.queryConnectorTable(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName,
  {
    select: ["Title", "Modified"],
    top: 50,
  }
);

Följande exempel förutsätter att documentsTableName innehåller tabellens name från listConnectorTables, som du ser ovan.

listConnectorTables metod

Visar de tabeller (listor eller entiteter) som är tillgängliga i den angivna anslutningsdatauppsättningen.

Parameters

Ange värden för dessa obligatoriska parametrar.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan.
dataset string Datauppsättningen som du vill lista tabeller för.

Returns

Ett löfte som innehåller en matris med tabellinformation. Varje post har följande egenskaper:

Name Type Description
name string Tabellens interna namn.
displayName string Tabellens visningsnamn.

listConnectorTables-exempel

const tables = await dataApi.listConnectorTables?.(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing"
);

listConnectorDatasets metod

Visar en lista över tillgängliga datauppsättningar för anslutningsappen, till exempel de SharePoint platser som en anslutning kan komma åt.

Parameters

Ange ett värde för den här obligatoriska parametern.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan.

Returns

Ett löfte som innehåller en matris med datamängdsinformation. Varje post har följande egenskaper:

Name Type Description
name string Datamängdens interna namn eller identifierare.
displayName string Visningsnamnet för datauppsättningen.

listConnectorDatasets-exempel

const datasets = await dataApi.listConnectorDatasets?.("sp_shared_sharepointonline");

listConnectorOperations metod

Visar en lista över de åtgärder som definierats i anslutningsappens Swagger-definition, exklusive åtgärder som markerats som interna, sorterade efter visningsnamn. Den här metoden är mest användbar för REST-anslutningsappar (åtgärdsnyckel), till exempel Office 365-användare. För tabellkopplingar använder du fråge- och radmetoderna i stället för de åtgärder som den här metoden listar.

Parameters

Ange ett värde för den här obligatoriska parametern.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan.

Returns

Ett löfte som innehåller en matris med åtgärdsinformation. Varje post har följande egenskaper:

Name Type Description
name string Åtgärds-ID:t enligt definitionen i anslutningsappens Swagger-definition. Skicka det här värdet till executeConnectorOperation.
displayName string Det läsbara åtgärdsnamnet för visning, till exempel Swagger-sammanfattningen. Återgår till name om ingen sammanfattning har definierats.

listConnectorOperations-exempel

const operations = await dataApi.listConnectorOperations?.("sp_shared_sharepointonline");

getConnectorSwagger metod

Hämtar Swagger-definitionen (OpenAPI) för anslutningsappen, som beskriver de åtgärder som den exponerar. Det returnerade dokumentet beskriver anslutningsappen överlag. Den innehåller inte kolumnscheman per tabell för tabellkopplingar. Använd getConnectorTableSchema för den informationen.

Parameters

Ange ett värde för den här obligatoriska parametern.

Name Type Description
connectorApiId string API-identifieraren för anslutningsappen, till exempel /providers/Microsoft.PowerApps/apis/shared_sharepointonline. Den här identifieraren skiljer sig från det logiska anslutningsreferensnamnet (connectorLogicalName) som används av de flesta andra anslutningsmetoder.

Returns

Ett löfte som innehåller anslutningsappens Swagger-definition som ett objekt.

getConnectorSwagger-exempel

if (!dataApi.getConnectorSwagger) {
  throw new Error("getConnectorSwagger isn't available on this page.");
}

const swagger = await dataApi.getConnectorSwagger(
  "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
);

getConnectorTableSchema metod

Hämtar schemat (kolumndefinitioner) för en tabell som exponeras av anslutningsappen. Anslutningsappen definierar det schema som returneras och varierar beroende på anslutningsapp. Anta inte att den innehåller varje dynamisk kolumn som en tabell kan innehålla.

Parameters

Ange värden för dessa obligatoriska parametrar.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan.
dataset string Datauppsättningen som innehåller tabellen.
tableName string Tabellens interna namn från egenskapen name som returneras av listConnectorTables. Använd inte visningsnamnet.

Returns

Ett löfte som innehåller tabellens schema som ett objekt.

getConnectorTableSchema-exempel

if (!dataApi.getConnectorTableSchema) {
  throw new Error("getConnectorTableSchema isn't available on this page.");
}

const schema = await dataApi.getConnectorTableSchema(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName // from listConnectorTables
);

retrieveConnectorRow metod

Hämtar en enskild rad från den angivna anslutningstabellen.

Parameters

Ange värden för dessa obligatoriska parametrar.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan.
dataset string Datauppsättningen som innehåller tabellen.
tableName string Tabellens interna namn från egenskapen name som returneras av listConnectorTables. Använd inte visningsnamnet.
id string ID för raden som ska hämtas.
options RetrieveConnectorRowOptions (Valfritt) Alternativ för att hämta raden.

RetrieveConnectorRowOptions

Name Type Description
select string[] (Rekommenderas) Matris med kolumnnamn som ska hämtas. Om den utelämnas skickas ingen $select projektion – anslutningsappen avgör vilka kolumner som ska returneras och garanterar inte att varje kolumn i raden returneras.

Returns

Ett löfte som innehåller raddata.

retrieveConnectorRow-exempel

if (!dataApi.retrieveConnectorRow) {
  throw new Error("retrieveConnectorRow isn't available on this page.");
}

const row = await dataApi.retrieveConnectorRow(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName, // from listConnectorTables
  "1"
);

createConnectorRow metod

Skapar en ny rad i den angivna anslutningstabellen.

Parameters

Ange värden för dessa obligatoriska parametrar.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan.
dataset string Datauppsättningen som innehåller tabellen.
tableName string Tabellens interna namn från egenskapen name som returneras av listConnectorTables. Använd inte visningsnamnet.
row object Raddata som ska skapas.

Returns

Ett löfte som innehåller svarstexten som returneras av anslutningsappen, om någon. Beroende på anslutningsappen kan det här värdet vara den skapade raden, en partiell rad eller inget värde.

createConnectorRow-exempel

if (!dataApi.createConnectorRow) {
  throw new Error("createConnectorRow isn't available on this page.");
}

const newRow = await dataApi.createConnectorRow(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName, // from listConnectorTables
  { Title: "New document" }
);

updateConnectorRow metod

Uppdaterar en befintlig rad i den angivna anslutningstabellen.

Parameters

Ange värden för dessa obligatoriska parametrar.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan.
dataset string Datauppsättningen som innehåller tabellen.
tableName string Tabellens interna namn från egenskapen name som returneras av listConnectorTables. Använd inte visningsnamnet.
id string ID:t för raden som ska uppdateras.
row object Raddata som ska uppdateras.

Returns

Ett löfte som innehåller svarstexten som returneras av anslutningsappen, om någon. Beroende på anslutningsappen kan det här värdet vara den uppdaterade raden, en partiell rad eller inget värde. Om du vill läsa radens aktuella värden anropar du retrieveConnectorRow.

updateConnectorRow-exempel

if (!dataApi.updateConnectorRow) {
  throw new Error("updateConnectorRow isn't available on this page.");
}

const updatedRow = await dataApi.updateConnectorRow(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName, // from listConnectorTables
  "1",
  { Title: "Updated title" }
);

deleteConnectorRow metod

Tar bort en rad från den angivna anslutningstabellen.

Parameters

Ange värden för dessa obligatoriska parametrar.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan.
dataset string Datauppsättningen som innehåller tabellen.
tableName string Tabellens interna namn från egenskapen name som returneras av listConnectorTables. Använd inte visningsnamnet.
id string ID:t för raden som ska tas bort.

Returns

Ett löfte som innehåller resultatet av åtgärden. När åtgärden lyckas returneras inget värde.

deleteConnectorRow-exempel

if (!dataApi.deleteConnectorRow) {
  throw new Error("deleteConnectorRow isn't available on this page.");
}

await dataApi.deleteConnectorRow(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName, // from listConnectorTables
  "1"
);

executeConnectorOperation metod

Anropar en namngiven åtgärd som exponeras av en REST-anslutningsapp (åtgärdsnyckel), till exempel HTTP, Teams send-message eller Office 365-användare. Tabellkopplingar bör använda CRUD-metoderna för fråga och rad i stället.

Parameters

Ange värden för dessa obligatoriska parametrar.

Name Type Description
connectorLogicalName string Det logiska namnet på anslutningsreferensen som är bunden till sidan.
operationName string Åtgärds-ID:t enligt definitionen i anslutningsappens Swagger-definition.
parameters object De parametrar som krävs av åtgärden. Skicka ett tomt objekt ({}) om åtgärden inte tar några parametrar – den här parametern krävs även när det inte finns något att skicka.

Returns

Ett löfte som innehåller åtgärdsresultatet med dessa egenskaper. Löftet avvisar om anslutningsreferensen inte kan matchas, anslutningsappens Swagger-definition kan inte hämtas, åtgärden hittas inte i den, anropet kan inte skickas eller anslutningen är inte auktoriserad (HTTP 403) och användaren slutför inte uppmaningen om anslutningsmedgivande.

Name Type Description
ok boolean true när den underliggande HTTP-statusen är mindre än 400. Den här statusen omfattar omdirigeringsstatus (3xx), så behandla ok inte ensam som bevis på att åtgärden returnerade data – kontrollera status eller inspektera bodyäven .
status number Den råa HTTP-statuskoden som returneras av anslutningsappen.
body unknown Den tolkade JSON-svarstexten eller den råa strängen om brödtexten inte är JSON.

executeConnectorOperation-exempel

I följande exempel förutsätts en åtgärd med namnet CopyFile som accepterar sourceUrl och destinationUrl parametrar. Kontrollera åtgärds-ID:t och dess parametrar mot anslutningsappens egen Swagger-definition (till exempel med listConnectorOperations eller getConnectorSwagger) innan du använder det, eftersom tillgängliga åtgärder och deras parametrar varierar beroende på anslutningsapp.

if (!dataApi.executeConnectorOperation) {
  throw new Error("executeConnectorOperation isn't available on this page.");
}

try {
  const result = await dataApi.executeConnectorOperation(
    "sp_shared_sharepointonline",
    "CopyFile",
    { sourceUrl: "/sites/Marketing/Shared Documents/file.docx", destinationUrl: "/sites/Sales/Shared Documents/file.docx" }
  );

  if (result.ok) {
    console.log(result.body);
  }
  else {
    console.log(result.status);
  }
}
catch (error) {
  console.log(error);
}