Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Bruk handlingen og funksjonsmetodene dataApi for objektet til å aktivere dataverse egendefinerte API-er som er bundet til siden.
Note
Handlings- og funksjonsmetoder er valgfrie i den delte dataApi kontrakten. Enkelte verter implementerer dem ikke, så kontroller at det finnes en metode før du kaller den. En metode som finnes betyr ikke at operasjonen er bundet til siden, aktivert for kjøretid eller tillatt for gjeldende bruker. I motsetning til koblingsmetoder kaster disse metodene aldri for forventede feil. de løses med ok: false og en feilkode i stedet. Håndter resultatets ok og error egenskapene eksplisitt.
listBoundActions returnerer handlingene og funksjonene den gjeldende kjøretidskonfigurasjonen tillater for siden når denne oppdagelsen er aktivert. det er ingen garanti for at den gjeldende brukeren har de dataverse rettighetene som kreves for å utføre alle oppførte operasjoner.
| Metode | Description |
|---|---|
executeAction |
Aktiverer en egendefinert datavers-API som er bundet til siden som en handling. |
executeFunction |
Aktiverer en datavers egendefinert API som er bundet til siden som en funksjon. |
listBoundActions |
Viser egendefinerte API-er for datavers (handlinger og funksjoner) som er bundet til siden. |
executeAction metode
Aktiverer en datavers egendefinert API som en oppretter bundet til siden som en handling (en melding som kan endre data).
Parametre
Angi en verdi for denne nødvendige parameteren.
| Navn | Type | Description |
|---|---|---|
request |
DataverseActionRequest | Handlingen som skal aktiveres og inndataparameterne. |
DataverseActionRequest
| Navn | Type | Description |
|---|---|---|
name |
string |
Det unike navnet på den egendefinerte API-en, utgiverprefikset, for eksempel new_ApproveExpenseReport. |
parameters |
object |
(Valgfritt) Inndataparameterne som kreves av handlingen, tastet inn med unikt parameternavn. |
boundTo |
object |
(Valgfritt) En målradreferanse (entityName og id) for enhetsbundne handlinger. Utelate for globale (ubundne) handlinger. |
Returer
Et løfte som inneholder en DataverseActionResult. Denne metoden kaster aldri for forventede feil (for eksempel en 403-tillatelsesfeil, en 400 ugyldig parameter eller operasjonen som ikke er bundet eller aktivert) – kontroller ok egenskapen i stedet.
DataverseActionResult
| Navn | Type | Description |
|---|---|---|
ok |
boolean |
Angir om handlingen var vellykket. |
status |
number |
HTTP-statuskoden som returneres av Dataverse, eller 0 når ingen HTTP-status er tilgjengelig. En 0 status kan bety at kjøretiden avviste anropet før du sendte det (for eksempel not_enabled, , not_bound, not_permitted, wrong_operation_kind, invalid_parametereller invalid_bound_to), forespørselen mislyktes uten et HTTP-svar, eller utfallet er ukjent (indeterminate er true). Bruk error.code og indeterminate til å skille disse sakene fra hverandre. |
outputs |
object |
Utdataparameterne som returneres av handlingen, tastet inn med unikt navn. Tom for handlinger uten utdata. |
indeterminate |
boolean |
(Valgfritt) true når et tidsavbrudd eller en annen feil etter utsendelse betyr at serveren kan ha utført handlingen. ikke prøv på nytt automatisk. |
error |
object |
(Valgfritt) Feildetaljer når ok det er false, inkludert en maskinlesbar code og en sanert message.
codeer én av not_enabled, not_bound, not_permitted, invalid_parameterwrong_operation_kind, invalid_bound_to, eller indeterminatenetworkeller handlingens HTTP-statuskode som en streng (for eksempel "404") når Dataverse returnerte et feilsvar, eller "0" når ingen HTTP-status var tilgjengelig.
not_permitted betyr at handlingen eller funksjonen ikke er på miljøets tillatelsesliste for generative sider – den angir ikke om den gjeldende brukeren har dataverserettigheter til å kjøre den. En rettighetsfeil oppstår vanligvis som status: 403 med feilkode "403". Hvis verten ikke kan bestemme HTTP-statusen, returneres status: 0 den i stedet. |
executeAction-eksempel
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 datavers egendefinert API som en oppretter bundet til siden som en funksjon (en skrivebeskyttet melding med GET-semantikk).
Parametre
Angi en verdi for denne nødvendige parameteren.
| Navn | Type | Description |
|---|---|---|
request |
DataverseFunctionRequest | Funksjonen som skal aktiveres og inndataparameterne. |
DataverseFunctionRequest
| Navn | Type | Description |
|---|---|---|
name |
string |
Det unike navnet på den egendefinerte API-en, utgiverprefikset, for eksempel new_GetExchangeRate. |
parameters |
object |
(Valgfritt) Inndataparameterne som kreves av funksjonen, tastet inn med unikt parameternavn. |
boundTo |
object |
(Valgfritt) En målradreferanse (entityName og id) for enhetsbundne funksjoner. Utelate for globale (ubundne) funksjoner. |
Returer
Et løfte som inneholder en DataverseActionResult. Som med executeAction, kaster denne metoden aldri for forventede feil – kontroller ok egenskapen i stedet.
executeFunction-eksempel
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 egendefinerte API-ene for datavers (handlinger og funksjoner) som en oppretter er bundet til siden.
Parametre
Ingen.
Returer
Et løfte som inneholder en matrise med DataverseActionInfo-oppføringer . Returnerer en tom matrise når søk ikke er aktivert for kjøretiden.
DataverseActionInfo
DataverseActionInfo gjenspeiler hva sideoppretteren er bundet til denne handlingen eller funksjonen, ikke dynamiske dataverse metadata. Ikke bruk den til å bygge inndataskjemaer eller validere utdata – bekreft parameterkrav og utdatafigurer mot den faktiske dataverse egendefinerte API-definisjonen.
| Navn | Type | Description |
|---|---|---|
name |
string |
Det unike (logiske) navnet på den egendefinerte API-en for datavers. |
displayName |
string |
Visningsnavnet for en egendefinert API. |
isFunction |
boolean |
true hvis den egendefinerte API-en for datavers er en funksjon (skrivebeskyttet), false hvis det er en handling, inkludert når denne verdien ikke ble registrert på bindingstidspunktet. |
bindingType |
string |
Bindingstypen: "Global" eller "Entity". |
boundEntityLogicalName |
string |
(Valgfritt) Tabellen som handlingen eller funksjonen er bundet til, når bindingType den er "Entity". |
parameters |
Object[] |
Inndataparameterne som ble registrert da den egendefinerte API-en for dataverse ble bundet til siden, hver med a name og declaredKind.
type er alltid "unknown" og optional er alltid false – ingen av dem gjenspeiler de dataverse egendefinerte API-ens faktiske metadata. |
outputs |
Object[] |
Alltid en tom matrise. Bindingsgjenkjenning registrerer ikke utdataparametere. |
listBoundActions-eksempel
const actions = await dataApi.listBoundActions?.();