Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd åtgärden och funktionsmetoderna för dataApi objektet för att anropa anpassade API:er för Dataverse som är bundna till sidan.
Note
Åtgärds- och funktionsmetoder ä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 åtgärden är bunden till sidan, aktiverad för körningen eller tillåten för den aktuella användaren. Till skillnad från anslutningsmetoder genererar dessa metoder aldrig för förväntade fel. de löser med ok: false och en felkod i stället. Hantera resultatets ok och error egenskaperna explicit.
listBoundActions returnerar de åtgärder och funktioner som den aktuella körningskonfigurationen tillåter för sidan när identifieringen är aktiverad. Det är inte en garanti för att den aktuella användaren har de Dataverse-behörigheter som krävs för att köra varje angiven åtgärd.
| Method | Description |
|---|---|
executeAction |
Anropar ett anpassat API för Dataverse som är bundet till sidan som en åtgärd. |
executeFunction |
Anropar ett anpassat API för Dataverse som är bundet till sidan som en funktion. |
listBoundActions |
Visar en lista över anpassade API:er för Dataverse (åtgärder och funktioner) som är bundna till sidan. |
executeAction metod
Anropar ett anpassat API för Dataverse som en tillverkare är bunden till sidan som en åtgärd (ett meddelande som kan ändra data).
Parameters
Ange ett värde för den här obligatoriska parametern.
| Name | Type | Description |
|---|---|---|
request |
DataverseActionRequest | Åtgärden för att anropa och dess indataparametrar. |
DataverseActionRequest
| Name | Type | Description |
|---|---|---|
name |
string |
Det unika namnet på det anpassade API:et, publisher-prefix, till exempel new_ApproveExpenseReport. |
parameters |
object |
(Valfritt) De indataparametrar som krävs av åtgärden, med ett unikt parameternamn. |
boundTo |
object |
(Valfritt) En målradsreferens (entityName och id) för entitetsbundna åtgärder. Utelämna globala (obundna) åtgärder. |
Returns
Ett löfte som innehåller en DataverseActionResult. Den här metoden genererar aldrig förväntade fel (till exempel ett 403-behörighetsfel, en 400 felaktig parameter eller åtgärden som inte är bunden eller aktiverad) – kontrollera ok egenskapen i stället.
DataverseActionResult
| Name | Type | Description |
|---|---|---|
ok |
boolean |
Anger om åtgärden lyckades. |
status |
number |
HTTP-statuskoden som returneras av Dataverse eller 0 när ingen HTTP-status är tillgänglig. En 0 status kan innebära att körningen avvisade anropet innan det skickades (till exempel not_enabled, , not_boundnot_permitted, wrong_operation_kind, invalid_parametereller invalid_bound_to), att begäran misslyckades utan ett HTTP-svar, eller att resultatet är okänt (indeterminate är true). Använd error.code och indeterminate för att skilja dessa fall åt. |
outputs |
object |
Utdataparametrarna som returneras av åtgärden, med ett unikt namn. Tom för åtgärder utan utdata. |
indeterminate |
boolean |
(Valfritt) true när en timeout eller något annat fel efter sändningen innebär att servern kan ha utfört åtgärden. försök inte igen automatiskt. |
error |
object |
(Valfritt) Felinformation när ok är false, inklusive en maskinläsbar code och en sanerad message.
codeär en av not_enabled, not_bound, not_permitted, wrong_operation_kindinvalid_parameter, invalid_bound_to, , indeterminateeller network, eller åtgärdens HTTP-statuskod som en sträng (till exempel "404") när Dataverse returnerade ett felsvar eller "0" när ingen HTTP-status var tillgänglig.
not_permitted innebär att åtgärden eller funktionen inte finns i miljöns lista över tillåtna för generativa sidor – den anger inte om den aktuella användaren har behörigheten Dataverse för att köra den. Ett behörighetsfel visas vanligtvis som status: 403 med felkoden "403". Om värden inte kan fastställa HTTP-statusen returneras status: 0 den i stället. |
executeAction-exempel
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 metod
Anropar ett anpassat API för Dataverse som en tillverkare som är bunden till sidan som en funktion (ett skrivskyddat meddelande med GET-semantik).
Parameters
Ange ett värde för den här obligatoriska parametern.
| Name | Type | Description |
|---|---|---|
request |
DataverseFunctionRequest | Funktionen som ska anropas och dess indataparametrar. |
DataverseFunctionRequest
| Name | Type | Description |
|---|---|---|
name |
string |
Det unika namnet på det anpassade API:et, publisher-prefix, till exempel new_GetExchangeRate. |
parameters |
object |
(Valfritt) De indataparametrar som krävs av funktionen, med ett unikt parameternamn. |
boundTo |
object |
(Valfritt) En målradsreferens (entityName och id) för entitetsbundna funktioner. Utelämna globala (obundna) funktioner. |
Returns
Ett löfte som innehåller en DataverseActionResult. Precis som med executeActiongenererar den här metoden aldrig förväntade fel – kontrollera ok egenskapen i stället.
executeFunction-exempel
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 metod
Visar en lista över anpassade API:er för Dataverse (åtgärder och funktioner) som en tillverkare är bunden till sidan.
Parameters
None.
Returns
Ett löfte som innehåller en matris med DataverseActionInfo-poster . Returnerar en tom matris när identifieringen inte är aktiverad för körningen.
DataverseActionInfo
DataverseActionInfo visar vad sidans skapare är bunden till den här åtgärden eller funktionen, inte realtidsmetadata för Dataverse. Använd den inte för att skapa indataformulär eller verifiera utdata – verifiera parameterkrav och utdataformer mot den faktiska anpassade API-definitionen för Dataverse.
| Name | Type | Description |
|---|---|---|
name |
string |
Det unika (logiska) namnet på det anpassade API:et för Dataverse. |
displayName |
string |
Visningsnamnet för ett anpassat API. |
isFunction |
boolean |
true om det anpassade API:et för Dataverse är en funktion (skrivskyddad); false om det är en åtgärd, inklusive när det här värdet inte registrerades vid bindningstiden. |
bindingType |
string |
Bindningstypen: "Global" eller "Entity". |
boundEntityLogicalName |
string |
(Valfritt) Tabellen som åtgärden eller funktionen är bunden till, när bindingType är "Entity". |
parameters |
Object[] |
Indataparametrarna som registrerades när det anpassade API:et dataversum var bundet till sidan, var och en med en name och declaredKind.
type är alltid "unknown" och optional är alltid false – varken återspeglar det anpassade API:ets faktiska metadata för Dataverse. |
outputs |
Object[] |
Alltid en tom matris. Bindningsidentifiering registrerar inte utdataparametrar. |
listBoundActions Exempel
const actions = await dataApi.listBoundActions?.();