Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Brug objektets handlings- og funktionsmetoder dataApi til at aktivere brugerdefinerede API'er for Dataverse, der er bundet til siden.
Notat
Handlings- og funktionsmetoder 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 handlingen er bundet til siden, aktiveret for kørslen eller tilladt for den aktuelle bruger. I modsætning til connectormetoder udløses disse metoder aldrig for forventede fejl. de løse med ok: false og en fejlkode i stedet. Håndter eksplicit resultatets ok og error egenskaberne.
listBoundActions returnerer de handlinger og funktioner, som den aktuelle kørselskonfiguration tillader for siden, når registreringen er aktiveret. det er ikke en garanti for, at den aktuelle bruger har de Dataverse-rettigheder, der er nødvendige for at udføre alle handlinger på listen.
| Metode | Beskrivende tekst |
|---|---|
executeAction |
Aktiverer en brugerdefineret API til Dataverse, der er bundet til siden, som en handling. |
executeFunction |
Aktiverer en brugerdefineret DATAVERSE-API, der er bundet til siden, som en funktion. |
listBoundActions |
Viser de brugerdefinerede API'er (handlinger og funktioner) for Dataverse, der er bundet til siden. |
executeAction metode
Aktiverer en brugerdefineret Dataverse-API, som en opretter, der er bundet til siden, som en handling (en meddelelse, der kan ændre data).
Parametre
Angiv en værdi for denne påkrævede parameter.
| Name | Type | Beskrivende tekst |
|---|---|---|
request |
DataverseActionRequest | Den handling, der skal aktiveres, og dens inputparametre. |
DataverseActionRequest
| Name | Type | Beskrivende tekst |
|---|---|---|
name |
string |
Det entydige navn på den brugerdefinerede API med præfikset udgiver, f.eks new_ApproveExpenseReport. . |
parameters |
object |
(Valgfrit) De inputparametre, der kræves af handlingen, angivet med et entydigt parameternavn. |
boundTo |
object |
(Valgfrit) En reference til målrækken (entityName og id) for objektbundne handlinger. Udelad for globale (ubundne) handlinger. |
Retur
Et løfte , der indeholder et DataverseActionResult. Denne metode udløser aldrig forventede fejl (f.eks. en 403-tilladelsesfejl, en 400 ugyldig parameter, eller handlingen ikke er bundet eller aktiveret) – kontrollér egenskaben ok i stedet for.
DataverseActionResult
| Name | Type | Beskrivende tekst |
|---|---|---|
ok |
boolean |
Angiver, om handlingen lykkedes. |
status |
number |
Den HTTP-statuskode, der returneres af Dataverse, eller 0 når der ikke er nogen HTTP-status tilgængelig. En 0 status kan betyde, at runtime afviste opkaldet, før det blev sendt (f.eks. not_enabled, not_bound, not_permitted, wrong_operation_kind, invalid_parametereller invalid_bound_to), anmodningen mislykkedes uden et HTTP-svar, eller resultatet er ukendt (indeterminate er true). Brug error.code og indeterminate til at skelne mellem disse sager. |
outputs |
object |
De outputparametre, der returneres af handlingen, med nøgle efter entydigt navn. Tom for handlinger uden output. |
indeterminate |
boolean |
(Valgfrit) true når en timeout eller en anden fejl efter afsendelse betyder, at serveren kan have bekræftet handlingen. prøv ikke automatisk igen. |
error |
object |
(Valgfrit) Oplysninger om fejl, når ok er false, herunder en maskinlæsbar code og en renset message.
codeer en af not_enabled, not_bound, not_permittedwrong_operation_kind, invalid_parameter, , invalid_bound_to, indeterminateeller network, eller handlingens HTTP-statuskode som en streng (f.eks. "404"), når Dataverse returnerede et fejlsvar, eller "0" når der ikke var nogen HTTP-status tilgængelig.
not_permitted betyder, at handlingen eller funktionen ikke findes på miljøets liste over tilladte sider for generative sider – det angiver ikke, om den aktuelle bruger har dataverserettigheder til at køre den. En rettighedsfejl vises typisk som status: 403 med fejlkode "403". Hvis værten ikke kan bestemme HTTP-status, returneres status: 0 den i stedet. |
eksempel på executeAction
if (!dataApi.executeAction) {
throw new Error("executeAction isn't available on this page.");
}
const result = await dataApi.executeAction({
name: "new_ApproveExpenseReport",
parameters: { comments: "Approved by manager" },
boundTo: { entityName: "new_expensereport", id: "30dc51e9-947d-47d8-ad48-4fc48fba4a95" },
});
if (result.ok) {
console.log(result.outputs);
}
else {
console.log(result.error?.code);
}
executeFunction metode
Aktiverer en brugerdefineret Dataverse-API, som en opretter har bundet til siden som en funktion (en skrivebeskyttet meddelelse med GET-semantik).
Parametre
Angiv en værdi for denne påkrævede parameter.
| Name | Type | Beskrivende tekst |
|---|---|---|
request |
DataverseFunctionRequest | Den funktion, der skal aktiveres, og dens inputparametre. |
DataverseFunctionRequest
| Name | Type | Beskrivende tekst |
|---|---|---|
name |
string |
Det entydige navn på den brugerdefinerede API med præfikset udgiver, f.eks new_GetExchangeRate. . |
parameters |
object |
(Valgfrit) De inputparametre, der kræves af funktionen, angivet efter parameter entydige navn. |
boundTo |
object |
(Valgfrit) En reference til målrækken (entityName og id) for objektbundne funktioner. Udelad for globale (ubundne) funktioner. |
Retur
Et løfte , der indeholder et DataverseActionResult. Som med executeAction, udløses denne metode aldrig for forventede fejl . Kontrollér egenskaben ok i stedet for.
eksempel på executeFunction
if (!dataApi.executeFunction) {
throw new Error("executeFunction isn't available on this page.");
}
const result = await dataApi.executeFunction({
name: "new_GetExchangeRate",
parameters: { currencyCode: "EUR" },
});
if (result.ok) {
console.log(result.outputs);
}
listBoundActions metode
Viser de brugerdefinerede API'er for Dataverse (handlinger og funktioner), som en opretter har bundet til siden.
Parametre
Ingen.
Retur
Et løfte , der indeholder en matrix af DataverseActionInfo-poster . Returnerer en tom matrix, når registrering ikke er aktiveret for kørsel.
DataverseActionInfo
DataverseActionInfo afspejler, hvad sidens opretter er bundet til denne handling eller funktion, ikke dynamiske dataversemetadata. Brug den ikke til at oprette inputformularer eller validere output – kontrollér parameterkrav og outputfigurer i forhold til den faktiske brugerdefinerede API-definition for Dataverse.
| Name | Type | Beskrivende tekst |
|---|---|---|
name |
string |
Det entydige (logiske) navn på den brugerdefinerede API Til Dataverse. |
displayName |
string |
Det viste navn på en brugerdefineret API. |
isFunction |
boolean |
true hvis den brugerdefinerede API Dataverse er en funktion (skrivebeskyttet); false hvis det er en handling, herunder når denne værdi ikke blev registreret på bindingstidspunktet. |
bindingType |
string |
Bindingstypen: "Global" eller "Entity". |
boundEntityLogicalName |
string |
(Valgfrit) Den tabel, som handlingen eller funktionen er bundet til, hvornår bindingType er "Entity". |
parameters |
Object[] |
De inputparametre, der registreres, da den brugerdefinerede API Dataverse blev bundet til siden, hver med en name og declaredKind.
type er altid "unknown" og optional er altid false – hverken afspejler dataverse-den brugerdefinerede API's faktiske metadata. |
outputs |
Object[] |
Altid en tom matrix. Registrering af binding registrerer ikke outputparametre. |
Eksempel på listBoundActions
const actions = await dataApi.listBoundActions?.();