Pastaba.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti prisijungti arba pakeisti katalogus.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti pakeisti katalogus.
Galite atlikti prieinami žiniatinklio API veiksmai portaluose. Žiniatinklio API operacijas sudaro HTTP užklausos ir atsakai. Šiame straipsnyje pateikiami operacijų, metodų, URI ir JSON rašymo, naujinimo bei naikinimo operacijų pavyzdžiai, kuriuos galite naudoti HTTP užklausose.
Svarbu
- Kad ši funkcija veiktų, jūsų portalo versija turi būti 9.3.3.x arba naujesnė.
Būtinosios sąlygos
Įjunkite žiniatinklio API operacijų lentelę ir lauką. Daugiau informacijos: Saito nustatymai Web API
Portalų Žiniatinklio API pasiekia lentelės įrašus ir vadovaujasi lentelės teisėmis, suteiktomis vartotojams per susietus žiniatinklio vaidmenis. Įsitikinkite, kad konfigūruojate tinkamas lentelių teises. Daugiau informacijos: Kurti žiniatinklio vaidmenis
Įrašo kūrimas lentelėje
Pastaba.
Nurodant lenteles Dataverse naudojant portalų žiniatinklio AP, Jums reikia naudoti EntitySetName, pavyzdžiui, prieigai prie paskyros lentelės, kodo sintaksė bus naudojama EntitySetName paskyrose.
Pagrindinis kūrimas
| Operacija | Būdas | URI | JSON Pavyzdys |
|---|---|---|---|
| Pagrindinis kūrimas | SKELBTI | [Portal URI]/_api/accounts | {"name“:"Sample Account“} |
JSON pavyzdys, skirtas susijusių lentelių įrašams kurti per vieną operaciją
Pavyzdžiui, toliau pateiktas užklausos tekstas, užregistruotas Paskyros lentelių rinkinyje, sukurs iš viso keturias naujas lenteles – įskaitant paskyrą – paskyros kūrimo kontekste.
- Kontaktas yra sukuriamas, nes jis nustatytas kaip vienos vertės naršymo ypatybės
primarycontactidobjekto ypatybė. - Galimybė yra sukuriama, nes ji nustatyta kaip objektas masyve, kuris nustatytas kaip rinkinio verčių naršymo ypatybės
opportunity_customer_accountsvertė. - Užduotis yra sukuriama, nes ji nustatyta kaip objektas masyve, kuris nustatytas kaip rinkinio verčių naršymo ypatybės
Opportunity_Tasksvertė.
{
"name": "Sample Account",
"primarycontactid":
{
"firstname": "Alton",
"lastname": "Stott"
},
"opportunity_customer_accounts":
[
{
"name": "Opportunity associated to Sample Account",
"Opportunity_Tasks":
[
{ "subject": "Task associated to opportunity" }
]
}
]
}
Lentelių įrašų susiejimas kūrimo metu
| Operacija | Būdas | URI | JSON Pavyzdys |
|---|---|---|---|
| Lentelių įrašų susiejimas kūrimo metu | POST | [Portal URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
JSON pavyzdys anotacijos per žiniatinklio API sukūrimui
{
"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 bus priedas kaip base64 eilutė.
Įrašų naujinimas ir naikinimas naudojant žiniatinklio API
Pagrindinis naujinimas
| Operacija | Metodas | URI | JSON Pavyzdys |
|---|---|---|---|
| Pagrindinis naujinimas | 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 } |
Vienos ypatybės reikšmės naujinimas
| Operacija | Metodas | URI | JSON Pavyzdys |
|---|---|---|---|
| Vienos ypatybės reikšmės naujinimas | PUT | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
Lauko reikšmės naikinimas arba naikinimas
| Operacija | Būdas | URI |
|---|---|---|
| Lauko reikšmės naikinimas arba naikinimas | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
Pagrindinis naikinimas
| Operacija | Metodas | URI |
|---|---|---|
| Pagrindinis naikinimas | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Lentelių susiejimas ir atsiejimas naudojant Žiniatinklio API
Nuorodos įtraukimas į rinkinio reikšmių naršymo ypatybę
| Operacija | Metodas | URI | JSON Pavyzdys |
|---|---|---|---|
| Nuorodos įtraukimas į rinkinio reikšmių naršymo ypatybę | 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)"} |
Nuorodos į lentelę pašalinimas
| Operacija | Metodas | URI |
|---|---|---|
| Nuorodos į lentelę pašalinimas | DELETE | [Portalo URI]/_api/accounts (00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[portal URI]/_api/opportunities (00000000-0000-0000-0000-000000000001) |
Nuorodos į vienos reikšmės naršymo ypatybės lentelę pašalinimas
Jei naudojate vienos vertės naršymo ypatybę, pašalinkite $id užklausos eilutės parametrą.
| Operacija | Metodas | URI |
|---|---|---|
| Nuorodos į vienos reikšmės naršymo ypatybės lentelę pašalinimas | DELETE | [Portalo URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Nuorodos keitimas vienos reikšmės naršymo ypatybei
| Operacija | Metodas | URI | JSON Pavyzdys |
|---|---|---|---|
| Nuorodos keitimas vienos reikšmės naršymo ypatybei | PUT | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Lentelių susiejimas kūrimo metu
Naujas lenteles galima sukurti naudojant ryšius su giliojo įterpimo funkcija.
Lentelių susiejimas naujinimo metu naudojant vienareikšmę naršymo ypatybę
Galite susieti lenteles naujinimo metu naudodami tą patį pranešimą, aprašytą ankstesniame šios temos skyriuje Pagrindinis naujinimas, tačiau turite naudoti komentarą @odata.bind, kad nustatytumėte vienos vertės naršymo ypatybės vertę. Tolesnis pavyzdys pakeičia paskyrą, susietą su galimybe naudojant customerid_account vienos vertės naršymo ypatybę.
Lentelių susiejimas naujinimo metu naudojant vienareikšmę naršymo ypatybę
| Operacija | Metodas | URI | JSON Pavyzdys |
|---|---|---|---|
| Lentelių susiejimas naujinimo metu naudojant vienareikšmę naršymo ypatybę | PATCH | [Portal URI]/_api/opportunities (00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Žiniatinklio API AJAX pavyzdžiai
Šiame pavyzdyje pademonstruota, kaip kurti, naujinti ir naikinti lentelių įrašus naudojant asinchroninę „JavaScript” ir XML („AJAX)”.
Wrapper 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)
Kurti
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"))
}
});
Atnaujinimas
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);
}
});
Susieti
Toliau pateikiamas pavyzdys priskirs esamą kontaktą kaip pagrindinį esamo kliento kontaktą.
var record = {};
record[primarycontactid@odata.bind] = "/contacts(00000000-0000-0000-0000-000000000002)";
webapi.safeAjax({
type: "PATCH",
contentType: "application/json",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
data: JSON.stringify(record),
success: function (data, textStatus, xhr) {
console.log("Record updated");
}
});
Tolesnis veiksmas
Kaip: naudoti portalo žiniatinklio API