Použití operací webového rozhraní API portálů pro zápis, aktualizaci a odstranění
Poznámka
S účinností od 12. října 2022 jsou portály Power Apps Power Pages. Další informace: Služba Microsoft Power Pages je nyní obecně dostupná (blog)
Zanedlouho migrujeme a sloučíme dokumentaci k portálům Power Apps s dokumentací k Power Pages.
Můžete provádět dostupné operace webového rozhraní API v portálech. Operace webového rozhraní API se skládají z požadavků HTTP a odpovědí. Tento článek poskytuje ukázkové operace zápisu, aktualizace a odstranění, metody, identifikátor URI a ukázkový kód JSON, které můžete použít v požadavku HTTP.
Důležité
- Aby tato funkce fungovala, musí být vaše verze portálu 9.3.3.x nebo novější.
Předpoklady
Musíte povolit tabulku a pole pro operace webového rozhraní API. Další informace: Nastavení webového rozhraní API v nastavení webu
Webové rozhraní API portálů přistupuje k záznamům tabulek a řídí se oprávněními k tabulce udělenými uživatelům prostřednictvím přidružených webových rolí. Ujistěte se, že jste nakonfigurovali správná oprávnění k tabulce. Další informace: Vytvoření webových rolí
Vytvoření záznamu v tabulce
Poznámka
Při odkazu na tabulky Dataverse pomocí rozhraní Web API portálů musíte použít vlastnost EntitySetName, například pro přístup k tabulce account syntaxe kódu použije název EntitySetName accounts.
Základní vytvoření
Operace | Metoda | Identifikátor URI | Ukázka JSON |
---|---|---|---|
Základní vytvoření | POST | [Portal URI]/_api/accounts | {"name":"Sample Account"} |
Ukázkový kód JSON pro vytváření souvisejících záznamů tabulky v jedné operaci
Jako příklad následuje tělo požadavku odeslané do sady tabulek Obchodní vztah (Account) vytvoří v kontextu vytváření účtu celkem čtyři nové tabulky – včetně obchodního vztahu.
- Kontakt je vytvořen, protože je definován jako vlastnost objektu vlastnosti navigace s jednou hodnotou
primarycontactid
. - Příležitost je vytvořena, protože je definována jako objekt v poli, který je nastaven na hodnotu vlastnosti navigace s hodnotou kolekce
opportunity_customer_accounts
. - Úkol je vytvořen, protože je definována jako objekt v poli, který je nastaven na hodnotu vlastnosti navigace s hodnotou kolekce
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" }
]
}
]
}
Přidružení záznamů tabulky při vytvoření
Operation | Method | Identifikátor URI | Ukázka JSON |
---|---|---|---|
Přidružení záznamů tabulky při vytvoření | POST | [Portal URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
Ukázkový JSON pro vytváření poznámek pomocí webového rozhraní 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 obsahovat přílohu jako řetězec base64.
Aktualizace a odstranění záznamů pomocí webového rozhraní API
Základní aktualizace
Operace | Metoda | Identifikátor URI | Ukázka JSON |
---|---|---|---|
Základní aktualizace | PATCH | [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 } |
Aktualizace jedné hodnoty vlastnosti
Operace | Způsob | Identifikátor URI | Ukázka JSON |
---|---|---|---|
Aktualizace jedné hodnoty vlastnosti | PUT | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
Odstranění nebo vymazání hodnoty pole
Operation | Method | Identifikátor URI |
---|---|---|
Odstranění nebo vymazání hodnoty pole | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
Základní odstranění
Operace | Způsob | Identifikátor URI |
---|---|---|
Základní odstranění | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Přidružení a zrušení přidružení pomocí webového rozhraní API
Přidání odkazu na vlastnost navigace s hodnotou kolekce
Operace | Způsob | Identifikátor URI | Ukázka JSON |
---|---|---|---|
Přidání odkazu na vlastnost navigace s hodnotou kolekce | POST | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
Odebrání odkazu na tabulku
Operace | Metoda | Identifikátor URI |
---|---|---|
Odebrání odkazu na tabulku | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) |
Odebrání odkazu na tabulku pro navigační vlastnost s jednou hodnotou
U vlastnosti navigace s jednou hodnotou odeberte parametr řetězce dotazu $id.
Operace | Metoda | Identifikátor URI |
---|---|---|
Odebrání odkazu na tabulku pro navigační vlastnost s jednou hodnotou | DELETE | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Změna odkazu ve vlastnosti navigace s jednou hodnotou
Operace | Způsob | Identifikátor URI | Ukázka JSON |
---|---|---|---|
Změna odkazu ve vlastnosti navigace 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)"} |
Přidružení tabulek při vytvoření
Nové tabulky lze vytvořit pomocí vztahů prostřednictvím hlubokého vložení.
Přidružení tabulek při aktualizaci pomocí navigační vlastnosti s jednou hodnotou
Tabulky můžete přidružit při aktualizaci pomocí stejné zprávy popsané v části Základní aktualizace dříve v tomto tématu, ale musíte použít anotaci @odata.bind
pro nastavení hodnoty navigační vlastnosti s jednou hodnotou. Následující příklad změní obchodní vztah přidružený k příležitosti pomocí vlastnosti navigace s jednou hodnotou customerid_account
.
Přidružení tabulek při aktualizaci pomocí navigační vlastnosti s jednou hodnotou
Operace | Metoda | Identifikátor URI | Ukázka JSON |
---|---|---|---|
Přidružení tabulek při aktualizaci pomocí navigační vlastnosti 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ázky technologií AJAX webového rozhraní API
Tento příklad ukazuje, jak vytvořit, aktualizovat a odstranit záznamy tabulky pomocí asynchronního jazyka JavaScript a XML (AJAX).
Funkce 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)
Vytvoření
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);
}
});
Odstranění
webapi.safeAjax({
type: "DELETE",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
success: function (res) {
console.log(res);
}
});
Další krok
Kurz: Použití webového rozhraní API portálu
Viz také
Přehled webového rozhraní API portálů
Operace čtení pomocí webového rozhraní API portálů
Poznámka
Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)
Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro