Portaalide veebi-API-de kirjutamis-, värskendamis- ja kustutamistoimingute kasutamine
Märkus
Alates 12. oktoobrist 2022 on Power Appsi portaalid Power Pages. Lisateave: Microsoft Power Pages on nüüd üldiselt saadaval (ajaveebipostitus)
Peagi migreerime ja ühendame Power Appsi portaalide dokumentatsiooni Power Pagesi dokumentatsiooniga.
Saate portaalides kasutada kättesaadavaid veebi API toiminguid. Veebi-API toimingud koosnevad HTTP-päringutest ja vastustest. Selles artiklis kirjeldatakse kirjutamis-, värskendamis- ja kustutamistoiminguid, meetodeid, URI-sid ja näidis-JSON-i, mida saate kasutada HTTP-päringutes.
Oluline
- Teie portaali versioon peab olema 9.3.3.x või uuem, et see funktsioon töötaks.
eeltingimused
Luba veebi-API toiminguteks tabel ja väli. Lisateave: Veebi-API veebisätted
Portaalide veebi-API pääseb juurde tabelikirjetele ja järgib seostatud veebirollide kaudu kasutajatele antud tabeli lubasid. Veenduge, et konfigureeriksite õiged tabeliõigused. Lisateave: Veebirollide loomine
Looge tabelis kirje
Märkus
Portaalide veebi-API-t kasutades Dataverse’i tabelitele viitamisel peate kasutama väärtust EntitySetName. Näiteks konto tabelile juurdepääsuks kasutab koodisüntaks kontode jaoks väärtust EntitySetName.
Lihtne loomine
Toiming | Meetod | URI | JSON-i näidis |
---|---|---|---|
Lihtne loomine | POSTITUS | [Portal URI]/_api/accounts | {"name":"Sample Account"} |
Näidis JSON seotud toimingute tabelikirjete loomiseks
Näiteks loob järgmine tabelikomplekti Konto postitatud päringu keha kokku neli uut tabelit, sh konto tabeli konto loomise kontekstis.
- Kontakt luuakse, kuna see on määratletud kui ühe väärtusega navigeerimise objekti atribuudi
primarycontactid
. - Luuakse võimalus, kuna see on määratletud objektina, mille väärtuseks on seatud kogu väärtusega navigeerimise atribuudi
opportunity_customer_accounts
. - Luuakse võimalus, kuna see on määratletud objektina, mille väärtuseks on seatud kogu väärtusega navigeerimise atribuudi
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" }
]
}
]
}
Seostage tabeli kirjed loomisel
Toiming | Meetod | URI | JSON-i näidis |
---|---|---|---|
Seostage tabeli kirjed loomisel | POST | [Portal URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
JSON-i näide märkme loomiseks veebi-API kaudu
{
"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
sisaldab manust Base64-stringina.
Kirjete värskendamine ja kustutamine veebi API abil
Lihtne värskendus
Toiming | Meetod | URI | JSON-i näidis |
---|---|---|---|
Lihtne värskendus | 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 } |
Ühe atribuudi väärtuse värskendamine
Toiming | Meetod | URI | JSON-i näidis |
---|---|---|---|
Ühe atribuudi väärtuse värskendamine | PUT | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
Väljaväärtuse kustutamine või tühjendamine
Toiming | Meetod | URI |
---|---|---|
Väljaväärtuse kustutamine või tühjendamine | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
Lihtne kustutamine
Toiming | Meetod | URI |
---|---|---|
Lihtne kustutamine | Kustutusklahv (DELETE) | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Seostage ja eraldage tabeleid veebiliidese abil
Viite lisamine kogumiväärtusega navigeerimisatribuudile
Toiming | Meetod | URI | JSON-i näidis |
---|---|---|---|
Viite lisamine kogumiväärtusega navigeerimisatribuudile | POSTITA | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
Eemaldage tabeli viide
Toiming | Meetod | URI |
---|---|---|
Eemaldage tabeli viide | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) |
Eemaldage viide üheväärtusliku navigeerimisomandi tabelile
Ühe väärtusega navigeerimisatribuudi puhul $id päringustringi parameetri eemaldamine.
Toiming | Meetod | URI |
---|---|---|
Eemaldage viide üheväärtusliku navigeerimisomandi tabelile | DELETE | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Ühe väärtusega navigeerimisatribuudis viite muutmine
Toiming | Meetod | URI | JSON-i näidis |
---|---|---|---|
Ühe väärtusega navigeerimisatribuudis viite muutmine | PUT | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Seostage tabelid loomisel
Uute tabelite loomiseks võib kasutada seoseid, kasutades sügavat sisestust.
Seostage värskenduse tabelid, kasutades üheväärtuslikku navigeerimisomadust
Võite seostada tabeleid värskendamisel, kasutades sama teemat varem Peamine värskendus kirjeldatud sõnumit, kuid väärtustatud navigeerimisatribuudi ühe väärtuse määramiseks peate kasutama märkust @odata.bind
. Järgmises näites muudetakse võimalusega seotud kontot, kasutades ühekordse-väärtusega navigeerimise atribuuti customerid_account
.
Seostage värskenduse tabelid, kasutades üheväärtuslikku navigeerimisomadust
Toiming | Meetod | URI | JSON-i näidis |
---|---|---|---|
Seostage värskenduse tabelid, kasutades üheväärtuslikku navigeerimisomadust | PATCH | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Veebi-API AJAXi näidised
See näidis näitab, kuidas luua, värskendada ja kustutada tabelikirjeid asünkroonse JavaScripti ja XML-i (AJAX) abil.
AJAX-i ümbrise funktsioon
(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)
Koosta
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"))
}
});
Värskendus
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);
}
});
Kustutusklahv (Delete)
webapi.safeAjax({
type: "DELETE",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
success: function (res) {
console.log(res);
}
});
Järgmine etapp
Õpetus: Portaali veebi-API kasutamine
Vt ka
Portaalide veebi API ülevaade Portaalide lugemistoimingud, mis kasutavad veebi-API-d
Märkus
Kas saaksite meile dokumentatsiooniga seotud keele-eelistustest teada anda? Osalege lühikeses uuringus. (Uuring on ingliskeelne.)
Uuringus osalemine võtab umbes seitse minutit. Isikuandmeid ei koguta (privaatsusavaldus).
Tagasiside
https://aka.ms/ContentUserFeedback.
Varsti tulekul: 2024. aasta jooksul tühistame GitHubi probleemide funktsiooni sisutagasiside mehhanismina ja asendame selle uue tagasisidesüsteemiga. Lisateabe saamiseks vtEsita ja vaata tagasisidet