Portālu tīmekļa API rakstīšanas, atjaunināšanas un dzēšanas darbību izmantošana
Piezīme
No 2022. gada 12. oktobra, Power Apps portāli ir Power Pages. Papildinformācija. Pakalpojums Microsoft Power Pages tagad ir vispārēji pieejams (emuārs)
Drīzumā Power Apps portālu dokumentācija tiks migrēta un sapludināta ar Power Pages dokumentāciju.
Varat veikt pieejamās tīmekļa API operācijas portālos. Web API operācijas sastāv no HTTP pieprasījumiem un atbildēm. Šajā rakstā ir parādītas parauga rakstīšanas, atjaunināšanas un dzēšanas operācijas, metodes, URI, un parauga JSON, ko var izmantot HTTP pieprasījumos.
Svarīgi
- Jūsu portāla versijai jābūt 9.3.3.x vai jaunākai, lai šis līdzeklis darbotos.
Priekšnoteikumi
Iespējot tabulu un lauku tīmekļa API operācijām. Papildu informācija: Tīmekļa API vietnes iestatījumi
Portālu Web API piekļūst tabulu ierakstiem un ievēro tabulas atļaujas, kas lietotājiem tiek dotas, izmantojot saistītās tīmekļa lomas. Pārliecinieties, vai ir konfigurētas pareizās tabulu atļaujas. Papildu informācija: Tīmekļa lomu izveide
Izveidot tabulas ierakstu
Piezīme
Atsaucoties uz Dataverse tabulām, kas izmanto portālu Web API, ir jāizmanto EntitySetName, piemēram, lai piekļūtu uzņēmuma tabulai, koda sintakse izmantos uzņēmumu EntitySetName.
Pamata izveide
Darbība | Metode | URI | JSON Paraugs |
---|---|---|---|
Pamata izveide | ZIŅA | [Portal URI]/_api/accounts | {"nosaukums":"Parauga uzņēmums} |
JSON paraugs saistīto tabulu ierakstu veidošanai vienā operācijā
Piemēram, tālāk sniegtais pieprasījuma pamatteksts, kas publicēts tabulas Konts kopā, izveidos četras jaunas tabulas (tostarp kontu) konta veidošanas kontekstā.
- Kontaktpersona tiek izveidota, jo tā ir definēta kā objekta rekvizīts, kas ir daļa no vienas vērtības navigācijas rekvizīta
primarycontactid
. - Iepēja tiek izveidota, jo tā ir definēta kā opjekts masīvā, kas iestatīts kā kolekcijas navigācijas rekvizīta
opportunity_customer_accounts
vērtība. - Uzdevums tiek izveidots, jo tas ir definēts kā objekts masīvā, kas iestatīts uz vērtību kolekcijai, kuras vērtība ir
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" }
]
}
]
}
Tabulu ierakstu saistīšana izveides laikā
Darbība | Metode | URI | JSON Paraugs |
---|---|---|---|
Tabulu ierakstu saistīšana izveides laikā | POST | [Portal URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
Parauga JSON, lai izveidotu anotāciju, izmantojot tīmekļa 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
paturēs šo pielikumu kā base64 virkni.
Ierakstu atjaunināšana un dzēšana, izmantojot tīmekļa API
Pamata atjauninājums
Darbība | Metode | URI | JSON Paraugs |
---|---|---|---|
Pamata atjauninājums | 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 } |
Atsevišķas rekvizīta vērtības atjaunināšana
Darbība | Metode | URI | JSON Paraugs |
---|---|---|---|
Atsevišķas rekvizīta vērtības atjaunināšana | NOVIETOT | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/nosaukums | {"value": "Updated Sample Account Name"} |
Lauka vērtības dzēšana vai notīrīšana
Darbība | Metode | URI |
---|---|---|
Lauka vērtības dzēšana vai notīrīšana | DZĒST | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/apraksts |
Pamata dzēšana
Darbība | Metode | URI |
---|---|---|
Pamata dzēšana | DZĒST | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Entītiju sasaiste un atsaiste, izmantojot tīmekļa API
Atsauces pievienošana kolekcijas vērtējamām navigācijas rekvizītam
Darbība | Metode | URI | JSON Paraugs |
---|---|---|---|
Atsauces pievienošana kolekcijas vērtējamām navigācijas rekvizītam | Ziņa | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
Atsauces uz tabulu noņemšana
Darbība | Metode | URI |
---|---|---|
Atsauces uz tabulu noņemšana | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) |
Vienas vērtības navigācijas rekvizīta atsauces noņemšana uz tabulu
Vienas vērtības navigācijas rekvizītam noņemiet $id vaicājuma virknes parametru.
Darbība | Metode | URI |
---|---|---|
Vienas vērtības navigācijas rekvizīta atsauces noņemšana uz tabulu | DELETE | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Mainīt atsauci vienas vērtības navigācijas rekvizītā
Darbība | Metode | URI | JSON Paraugs |
---|---|---|---|
Mainīt atsauci vienas vērtības navigācijas rekvizītā | NOVIETOT | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Tabulu ierakstu saistīšana izveides laikā
Jaunas tabulas var izveidot ar attiecībām, izmantojot padziļinātu ievietošanu.
Saistīt tabulas atjaunināšanai, izmantojot vienas vērtības navigācijas rekvizītu
Atjauninātās tabulas var saistīt, izmantojot to pašu ziņojumu, kas aprakstīts šīs tēmas Basic update rakstā, bet anotācija @odata.bind
ir jāizmanto, lai iestatītu vienas vērtības navigācijas rekvizīta vērtību. Šajā piemērā tiek mainīts konts, kas saistīts ar iespēju, izmantojot rekvizītu customerid_account
ar vienu vērtību.
Saistīt tabulas atjaunināšanai, izmantojot vienas vērtības navigācijas rekvizītu
Darbība | Metode | URI | JSON Paraugs |
---|---|---|---|
Saistīt tabulas atjaunināšanai, izmantojot vienas vērtības navigācijas rekvizītu | PATCH | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Web API AJAX paraugi
Šajā paraugā parādīts, kā izveidot, atjaunināt un dzēst entītiju ierakstus, izmantojot asinhronu JavaScript un XML (AJAX).
Iesaiņojuma AJAX funkcija
(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)
Veidošana
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"))
}
});
Atjauninājums
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);
}
});
Nākamā darbība
Apmācība: portāla tīmekļa API lietošana
Skatiet arī:
Portālu tīmekļa API pārskats
Portālu lasītās operācijas, izmantojot tīmekļa API
Piezīme
Kādas ir jūsu dokumentācijas valodas preferences? Aizpildiet īsu aptauju. (ņemiet vērā, ka aptauja ir angļu valodā)
Aptaujai būs nepieciešamas aptuveni septiņas minūtes. Nekādi personas dati netiks vākti (paziņojums par konfidencialitāti).