Connectormetoder til generative sider

Brug objektets dataApi connectormetoder til at arbejde med data, der vises af en Power Platform-connector, der er bundet til siden.

Notat

Connectormetoder er valgfrie i den delte dataApi kontrakt. Nogle værter implementerer dem ikke, så kontrollér, at der findes en metode, før du kalder den. En metode, der findes, betyder ikke, at siden har en connector, der er bundet til den, eller at forbindelsen, datasættet, tabellen eller handlingen er konfigureret, godkendt eller tilladt som forventet.

I modsætning til handlings- og funktionsmetoderne afviser connectormetoder det returnerede løfte, når et kald mislykkes, f.eks. når forbindelsesreferencen ikke kan løses, forbindelsen er ikke godkendt, og brugeren ikke fuldfører samtykkeprompten, eller connectoren returnerer en fejlstatus. executeConnectorOperation løses med ok: false for de fleste fejlstatusser, men afviser stadig for en manglende handling, en uautoriseret forbindelse (403) uden fuldført samtykke eller en transportfejl. Ombryd connectorkald i try/catch.

Metode Beskrivende tekst
createConnectorRow Opretter en ny række i den angivne forbindelsestabel.
deleteConnectorRow Sletter en række fra den angivne forbindelsestabel.
executeConnectorOperation Aktiverer en navngiven handling, der vises af en REST-connector (handlingsnøgle), f.eks. Office 365-brugere.
getConnectorSwagger Henter Definitionen af Swagger (OpenAPI) for connectoren.
getConnectorTableSchema Henter skemaet for en tabel (også kaldet en enhed eller liste), der vises af connectoren.
listConnectorDatasets Viser de datasæt, der er tilgængelige for connectoren.
listConnectorOperations Viser de handlinger, der vises af en REST-connector (handlingsnøgle).
listConnectorTables Viser de tabeller, der er tilgængelige i det angivne connectordatasæt.
queryConnectorTable Forespørger en tabel, der vises af connectoren, med de angivne indstillinger.
retrieveConnectorRow Henter en enkelt række fra den angivne forbindelsestabel.
updateConnectorRow Opdaterer en eksisterende række i den angivne forbindelsestabel.

queryConnectorTable metode

Forespørger en tabel, der vises af connectoren, ved hjælp af de angivne indstillinger.

Parametre

Angiv værdier for disse påkrævede parametre.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden (f.eks. sp_shared_sharepointonline).
dataset string Det datasæt, der indeholder tabellen, f.eks. en SHAREPOINT URL-adresse til webstedet.
tableName string Tabellens interne navn fra den name egenskab, der returneres af listConnectorTables. Brug ikke det viste navn.
options QueryConnectorTableOptions Indstillinger for forespørgsel om tabellen.

QueryConnectorTableOptions

Name Type Beskrivende tekst
select string[] (Anbefalet) Matrix med kolonnenavne, der skal hentes.
filter string (Valgfrit) Filterudtryk, der understøttes af connectoren.
orderBy string (Valgfrit) Order-by-udtryk, der understøttes af connectoren.
top number (Valgfrit) Det maksimale antal rækker, der skal returneres.

Retur

Et løfte , der indeholder resultatet af handlingen. Når handlingen lykkes, returnerer løftet et objekt, der indeholder en datatabel med resultaterne med disse egenskaber:

Name Type Beskrivende tekst
rows Object[] Matrix af rækkedata.
hasMoreRows boolean Angiver, om der er flere tilgængelige rækker.

queryConnectorTable returnerer en enkelt side med resultater. Den returnerer ikke en fortsættelsesfunktion, og der er i øjeblikket ingen understøttet måde at hente den næste side på. Når hasMoreRows er true, matcher flere rækker, end der blev returneret. Begræns forespørgslen med filter, eller fortæl brugeren, at resultaterne er ufuldstændige.

eksempel på queryConnectorTable

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,
  }
);

I følgende eksempler antages documentsTableName det, at tabellen er name fra listConnectorTables, som vist ovenfor.

listConnectorTables metode

Viser de tabeller (lister eller enheder), der er tilgængelige i det angivne connectordatasæt.

Parametre

Angiv værdier for disse påkrævede parametre.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden.
dataset string Det datasæt, der skal vises tabeller for.

Retur

Et løfte , der indeholder en matrix af tabeloplysninger. Hver post har følgende egenskaber:

Name Type Beskrivende tekst
name string Tabellens interne navn.
displayName string Det viste navn på tabellen.

eksempel på listConnectorTables

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

listConnectorDatasets metode

Viser de datasæt, der er tilgængelige for connectoren, f.eks. de SharePoint websteder, en forbindelse kan få adgang til.

Parametre

Angiv en værdi for denne påkrævede parameter.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden.

Retur

Et løfte , der indeholder en matrix af datasætoplysninger. Hver post har følgende egenskaber:

Name Type Beskrivende tekst
name string Det interne navn eller id for datasættet.
displayName string Det viste navn på datasættet.

eksempel på listConnectorDatasets

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

listConnectorOperations metode

Viser de handlinger, der er defineret i connectorens Swagger-definition, med undtagelse af handlinger, der er markeret som interne, sorteret efter vist navn. Denne metode er mest nyttig til REST-connectorer (handlingsnøgle), f.eks. Office 365-brugere. I forbindelse med tabelconnectors skal du bruge forespørgsels- og rækkemetoderne i stedet for de handlinger, som denne metode viser.

Parametre

Angiv en værdi for denne påkrævede parameter.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden.

Retur

Et løfte , der indeholder en matrix af handlingsoplysninger. Hver post har følgende egenskaber:

Name Type Beskrivende tekst
name string Handlings-id'et som defineret i connectorens Swagger-definition. Overfør denne værdi til executeConnectorOperation.
displayName string Det handlingsnavn, der kan læses af mennesker, til visning, f.eks. Swagger-oversigten. Går tilbage til name , hvis der ikke er defineret en oversigt.

listConnectorOperations-eksempel

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

getConnectorSwagger metode

Henter definitionen af Swagger (OpenAPI) for connectoren, som beskriver de handlinger, der vises. I det returnerede dokument beskrives connectoren generelt. Den indeholder ikke tabelspecifikke kolonneskemaer for tabelconnectors. Bruges getConnectorTableSchema til disse oplysninger.

Parametre

Angiv en værdi for denne påkrævede parameter.

Name Type Beskrivende tekst
connectorApiId string Connector-API-id'et, f.eks /providers/Microsoft.PowerApps/apis/shared_sharepointonline. . Dette id adskiller sig fra det logiske navn for forbindelsesreferencen (connectorLogicalName), der bruges af de fleste andre connectormetoder.

Retur

Et løfte , der indeholder connectorens Swagger-definition som et objekt.

getConnectorSwagger-eksempel

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 metode

Henter skemaet (kolonnedefinitioner) for en tabel, der vises af connectoren. Connectoren definerer det skema, den returnerer, og den varierer efter connector. Antag ikke, at den indeholder alle dynamiske kolonner, som en tabel kan indeholde.

Parametre

Angiv værdier for disse påkrævede parametre.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden.
dataset string Det datasæt, der indeholder tabellen.
tableName string Tabellens interne navn fra den name egenskab, der returneres af listConnectorTables. Brug ikke det viste navn.

Retur

Et løfte , der indeholder tabellens skema som et objekt.

getConnectorTableSchema-eksempel

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 metode

Henter en enkelt række fra den angivne forbindelsestabel.

Parametre

Angiv værdier for disse påkrævede parametre.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden.
dataset string Det datasæt, der indeholder tabellen.
tableName string Tabellens interne navn fra den name egenskab, der returneres af listConnectorTables. Brug ikke det viste navn.
id string Id'et for den række, der skal hentes.
options HentConnectorRowOptions (Valgfrit) Indstillinger for hentning af rækken.

HentConnectorRowOptions

Name Type Beskrivende tekst
select string[] (Anbefalet) Matrix med kolonnenavne, der skal hentes. Hvis den udelades, sendes der ingen $select projektion – connectoren bestemmer, hvilke kolonner der skal returneres, og garanterer ikke at returnere hver kolonne i rækken.

Retur

Et løfte , der indeholder rækkedataene.

eksempel på retrieveConnectorRow

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 metode

Opretter en ny række i den angivne forbindelsestabel.

Parametre

Angiv værdier for disse påkrævede parametre.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden.
dataset string Det datasæt, der indeholder tabellen.
tableName string Tabellens interne navn fra den name egenskab, der returneres af listConnectorTables. Brug ikke det viste navn.
row object De rækkedata, der skal oprettes.

Retur

Et løfte , der indeholder den svartekst, der returneres af connectoren, hvis der er nogen. Afhængigt af connectoren kan denne værdi være den oprettede række, en delvis række eller ingen værdi.

createConnectorRow-eksempel

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 metode

Opdaterer en eksisterende række i den angivne forbindelsestabel.

Parametre

Angiv værdier for disse påkrævede parametre.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden.
dataset string Det datasæt, der indeholder tabellen.
tableName string Tabellens interne navn fra den name egenskab, der returneres af listConnectorTables. Brug ikke det viste navn.
id string Id'et for den række, der skal opdateres.
row object De rækkedata, der skal opdateres.

Retur

Et løfte , der indeholder den svartekst, der returneres af connectoren, hvis der er nogen. Afhængigt af connectoren kan denne værdi være den opdaterede række, en delvis række eller ingen værdi. Hvis du vil læse rækkens aktuelle værdier, skal du kalde retrieveConnectorRow.

updateConnectorRow-eksempel

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 metode

Sletter en række fra den angivne forbindelsestabel.

Parametre

Angiv værdier for disse påkrævede parametre.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden.
dataset string Det datasæt, der indeholder tabellen.
tableName string Tabellens interne navn fra den name egenskab, der returneres af listConnectorTables. Brug ikke det viste navn.
id string Id'et for den række, der skal slettes.

Retur

Et løfte , der indeholder resultatet af handlingen. Når handlingen lykkes, returneres der ingen værdi.

deleteConnectorRow-eksempel

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 metode

Aktiverer en navngiven handling, der vises af en REST-connector (handlingsnøgle), f.eks. HTTP, Teams-send-meddelelse eller Office 365-brugere. Tabellariske connectors skal i stedet bruge metoden for forespørgsels- og række-CRUD.

Parametre

Angiv værdier for disse påkrævede parametre.

Name Type Beskrivende tekst
connectorLogicalName string Det logiske navn på forbindelsesreferencen, der er bundet til siden.
operationName string Handlings-id'et som defineret i connectorens Swagger-definition.
parameters object De parametre, der kræves af handlingen. Overfør et tomt objekt ({}), hvis handlingen ikke tager nogen parametre – denne parameter er påkrævet, selvom der ikke er noget at sende.

Retur

Et løfte , der indeholder handlingsresultatet med disse egenskaber. Løftet afviser, hvis forbindelsesreferencen ikke kan løses, connectorens Swagger-definition ikke kan hentes, handlingen findes ikke i den, opkaldet kan ikke sendes, eller forbindelsen er ikke godkendt (HTTP 403), og brugeren ikke fuldfører anmodningen om forbindelsessamtykke.

Name Type Beskrivende tekst
ok boolean true når den underliggende HTTP-status er mindre end 400. Denne status omfatter statusser for omdirigering (3xx), så behandl ok ikke alene som bevis for den handling, der returneres data – kontrollér status eller undersøg bodyogså .
status number Den rå HTTP-statuskode, der returneres af connectoren.
body unknown Den fortolkede JSON-svartekst eller den rå streng, hvis brødteksten ikke er JSON.

executeConnectorOperation-eksempel

I følgende eksempel antages det, at en handling med navnet CopyFile accepterer og destinationUrl parametresourceUrl. Kontrollér handlings-id'et og dets parametre i forhold til connectorens egen Swagger-definition (f.eks. med listConnectorOperations eller getConnectorSwagger), før du bruger det, da de tilgængelige handlinger og deres parametre varierer efter connector.

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);
}