Používanie webového rozhrania API na portáloch na operácie zápisu, aktualizácie a odstránenia
Poznámka
S účinnosťou od 12. októbra 2022 sa portály Power Apps nazývajú Power Pages. Ďalšie informácie: Služba Microsoft Power Pages je teraz všeobecne dostupná (blog)
Čoskoro vykonáme migráciu a zlúčenie dokumentácie k portálom Power Apps s dokumentáciou k službe Power Pages.
Môžete realizovať dostupné operácie webového API na portáloch. Webové operácie API pozostávajú z požiadaviek HTTP a odpovedí. Tento článok poskytuje vzorové operácie zápisu, aktualizácie a odstraňovania, metódy, identifikátor URI a vzorový JSON, ktoré môžete použiť v požiadavkách HTTP.
Dôležité
- Aby táto funkcia fungovala, musí byť vaša verzia portálu 9.3.3.x alebo novšia.
Požiadavky
Povoľte tabuľku a pole pre operácie webového rozhrania API. Ďalšie informácie: Nastavenia lokality pre webové rozhranie API
Webové rozhranie API portálov pristupuje k záznamom tabuľky a riadi sa povoleniami tabuľky, ktoré dostali používatelia prostredníctvom pridružených webových rol. Uistite sa, že ste nakonfigurovali správne povolenia tabuľky. Ďalšie informácie: Vytváranie webových rolí
Vytvorenie záznamu v tabuľke
Poznámka
Pri odkaze na tabuľky Dataverse pomocou webového rozhrania API portálov vo vašom kóde musíte použiť EntitySetName, napríklad na prístup k tabuľke obchodný vzťah, syntax kódu použije EntitySetName obchodných vzťahov.
Základné vytvorenie
Operation | Method | URI | Ukážka JSON |
---|---|---|---|
Základné vytvorenie | PRÍSPEVOK | [Portal URI]/_api/accounts | {"name":"Sample Account"} |
Vzorový súbor JSON na vytváranie súvisiacich záznamov tabuľky v jednej operácii
Napríklad nasledujúci text žiadosti zverejnený do množiny tabuliek Obchodný vzťah vytvorí celkovo štyri nové tabuľky – vrátane obchodného vzťahu – v rámci vytvárania obchodného vzťahu.
- Kontakt sa vytvorí, pretože je definovaný ako vlastnosť objektu navigačnej vlastnosti s jednou hodnotou
primarycontactid
. - Príležitosť sa vytvára, pretože je definovaná ako objekt v poli, ktoré je nastavené na hodnotu navigačnej vlastnosti s hodnotou
opportunity_customer_accounts
. - Úloha sa vytvára, pretože je definovaná ako objekt v poli, ktoré je nastavené na hodnotu navigačnej vlastnosti s hodnotou
Opportunity_Tasks
.
{
"name": "Sample Account",
"primarycontactid":
{
"firstname": "Alton",
"lastname": "Stott"
},
"opportunity_customer_accounts":
[
{
"name": "Opportunity associated to Sample Account",
"Opportunity_Tasks":
[
{ "subject": "Task associated to opportunity" }
]
}
]
}
Priradenie záznamov tabuliek pri vytváraní
Operation | Method | URI | Ukážka JSON |
---|---|---|---|
Priradenie záznamov tabuliek pri vytváraní | POST | [Portal URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
Ukážkový súbor JSON na vytváranie anotácií pomocou webového rozhrania API
{
"new_attribute1": "test attribute 1",
"new_attribute2": "test attribute 2",
"new_comments": "test comments",
"new_recordurl": recordURL,
"new_feedback_Annotations":
[
{
"notetext": "Screenshot attached",
"subject": "Attachment",
"filename": file.name,
"mimetype": file.type,
"documentbody": base64str,
}
]
}
documentbody
bude obsahovať prílohu ako reťazec base64.
Aktualizujte a odstraňujte záznamy pomocou webového rozhrania API
Základná aktualizácia
Operácia | Metóda | Identifikátor URI | Ukážka JSON |
---|---|---|---|
Základná aktualizácia | ZÁPLATA | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) | { "name": "Updated Sample Account ", "creditonhold": true, "address1_latitude": 47.639583, "description": "This is the updated description of the sample account", "revenue": 6000000, "accountcategorycode": 2 } |
Aktualizujte jednu hodnotu vlastnosti
Operácia | Spôsob | Identifikátor URI | Ukážka JSON |
---|---|---|---|
Aktualizujte jednu hodnotu vlastnosti | PUT | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
Odstráňte alebo vymažte hodnotu poľa
Operation | Method | URI |
---|---|---|
Odstráňte alebo vymažte hodnotu poľa | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
Základné odstránenie
Operácia | Spôsob | Identifikátor URI |
---|---|---|
Základné odstránenie | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Priraďovanie a zrušenie priraďovania tabuliek pomocou webového rozhrania API
Pridajte odkaz na navigačnú vlastnosť s hodnotou kolekcie
Operácia | Spôsob | Identifikátor URI | Ukážka JSON |
---|---|---|---|
Pridajte odkaz na navigačnú vlastnosť s hodnotou kolekcie | Príspevok | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
Odstraňovanie odkazu na tabuľku
Operácia | Metóda | Identifikátor URI |
---|---|---|
Odstraňovanie odkazu na tabuľku | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) |
Odstráňte odkaz na tabuľku pre vlastnosť navigácie s jednou hodnotou
V prípade navigačnej vlastnosti s jednou hodnotou odstráňte parameter $id reťazca dopytu.
Operácia | Metóda | Identifikátor URI |
---|---|---|
Odstráňte odkaz na tabuľku pre vlastnosť navigácie s jednou hodnotou | DELETE | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Zmeňte referenciu vo vlastnostiach navigácie s jednou hodnotou
Operácia | Spôsob | Identifikátor URI | Ukážka JSON |
---|---|---|---|
Zmeňte referenciu vo vlastnostiach navigácie s jednou hodnotou | PUT | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Priradenie tabuliek pri vytváraní
Nové tabuľky je možné vytvoriť so vzťahmi pomocou hlbokého vloženia.
Priraďte tabuľky k aktualizácii pomocou vlastnosti navigácie s jednou hodnotou
K aktualizácii môžete priradiť tabuľky pomocou rovnakej správy popísanej v časti Základná aktualizácia skôr v tejto téme, ale musíte použiť anotáciu @odata.bind
na nastavenie hodnoty vlastnosti navigácie s jednou hodnotou. Nasledujúci príklad zmení obchodný vzťah spojený s príležitosťou pomocou navigačnej vlastnosti customerid_account
s jednou hodnotou.
Priraďte tabuľky k aktualizácii pomocou vlastnosti navigácie s jednou hodnotou
Operácia | Metóda | Identifikátor URI | Ukážka JSON |
---|---|---|---|
Priraďte tabuľky k aktualizácii pomocou vlastnosti navigácie s jednou hodnotou | PATCH | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Ukážky webovej API AJAX
Táto ukážka demonštruje, ako vytvoriť, aktualizovať a odstrániť záznamy tabuľky pomocou asynchrónneho kódu JavaScript a XML (AJAX).
Funkcia Wrapper AJAX
(function(webapi, $){
function safeAjax(ajaxOptions) {
var deferredAjax = $.Deferred();
shell.getTokenDeferred().done(function (token) {
// add headers for AJAX
if (!ajaxOptions.headers) {
$.extend(ajaxOptions, {
headers: {
"__RequestVerificationToken": token
}
});
} else {
ajaxOptions.headers["__RequestVerificationToken"] = token;
}
$.ajax(ajaxOptions)
.done(function(data, textStatus, jqXHR) {
validateLoginSession(data, textStatus, jqXHR, deferredAjax.resolve);
}).fail(deferredAjax.reject); //AJAX
}).fail(function () {
deferredAjax.rejectWith(this, arguments); // on token failure pass the token AJAX and args
});
return deferredAjax.promise();
}
webapi.safeAjax = safeAjax;
})(window.webapi = window.webapi || {}, jQuery)
Vytvoriť
webapi.safeAjax({
type: "POST",
url: "/_api/accounts",
contentType: "application/json",
data: JSON.stringify({
"name": "Sample Account"
}),
success: function (res, status, xhr) {
//print id of newly created table record
console.log("entityID: "+ xhr.getResponseHeader("entityid"))
}
});
Update
webapi.safeAjax({
type: "PATCH",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
data: JSON.stringify({
"name": "Sample Account - Updated"
}),
success: function (res) {
console.log(res);
}
});
Delete
webapi.safeAjax({
type: "DELETE",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
success: function (res) {
console.log(res);
}
});
Ďalší krok
Kurz: Použitie webového rozhrania API portálu
Pozrite si tiež
Prehľad webového rozhrania API portálov
Operácie čítania portálov pomocou webového rozhrania API
Poznámka
Môžete nás informovať o svojich voľbách jazyka pre dokumentáciu? Absolvujte krátky prieskum. (upozorňujeme, že tento prieskum je v angličtine)
Prieskum bude trvať približne sedem minút. Nezhromažďujú sa žiadne osobné údaje (vyhlásenie o používaní osobných údajov).