Uporabite operacije pisanja, posodabljanja in brisanja portalov Web API
V portalih lahko izvajate razpoložljive operacije spletnega API-ja. Postopki spletnega API-ja sestavljajo zahteve in odgovori HTTP. Ta članek ponuja vzorčne operacije pisanja, posodabljanja in brisanja, metode, URI in vzorec JSON, ki jih lahko uporabite v zahtevah HTTP.
Pomembno
- Za delovanje te funkcije morate imeti portal različice 9.3.3.x ali novejše.
Zahteve
Omogoči tabelo in polje za operacije spletnega API-ja. Več informacij: Nastavitve spletnega mesta za spletni API
Spletni API portalov dostopa do zapisov tabele in sledi dovoljenjem tabele, ki so dana uporabnikom prek povezanih spletnih vlog. Prepričajte se, da ste konfigurirali ustrezna dovoljenja za tabelo. Več informacij: Ustvarite spletne vloge
Ustvarjanje zapisa v tabeli
Osnovno ustvarjanje
| Postopek | Metoda | URI | Vzorec JSON |
|---|---|---|---|
| Osnovno ustvarjanje | OBJAVA | [Portal URI]/_api/accounts | {"name":"Sample Account"} |
Vzorec JSON za ustvarjanje povezanih zapisov tabele v eni operaciji
Na primer, naslednje telo zahteve je objavljeno na račun nabor tabel bo ustvaril skupaj štiri nove tabele – vključno z računom – v kontekstu ustvarjanja računa.
- Stik je ustvarjen, ker je definiran kot lastnost objekta navigacijske lastnosti z eno vrednostjo
primarycontactid. - Priložnost je ustvarjena, ker je definirana kot predmet znotraj matrike, ki je nastavljena na vrednost navigacijske lastnosti z vrednostjo zbirke
opportunity_customer_accounts. - Opravilo je ustvarjeno, ker je definirano kot objekt znotraj matrike, ki je nastavljena na vrednost navigacijske lastnosti z vrednostjo zbirke
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" }
]
}
]
}
Pridružitev zapisov tabele ob ustvarjanju
| Postopek | Metoda | URI | Vzorec JSON |
|---|---|---|---|
| Pridružitev zapisov tabele ob ustvarjanju | POST | [Portal URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
Vzorec JSON za ustvarjanje pripisa prek spletnega API-ja
{
"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 bo vseboval prilogo v obliki niza base64.
Posodobitev in izbris zapisov ob uporabi spletnega API-ja
Osnovna posodobitev
| Postopek | Metoda | URI | Vzorec JSON |
|---|---|---|---|
| Osnovna posodobitev | 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 } |
Posodabljanje ene same vrednosti lastnosti
| Postopek | Način | URI | Vzorec JSON |
|---|---|---|---|
| Posodabljanje ene same vrednosti lastnosti | PUT | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
Brisanje ene same vrednosti lastnosti
| Postopek | Način | URI |
|---|---|---|
| Brisanje ene same vrednosti lastnosti | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
Osnovno brisanje
| Postopek | Način | URI |
|---|---|---|
| Osnovno brisanje | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Pridružitev in preklic pridružitve tabel z API-jem spletnega mesta
Dodajanje sklica lastnosti za krmarjenje, ovrednotene z zbirko
| Postopek | Način | URI | Vzorec JSON |
|---|---|---|---|
| Dodajanje sklica lastnosti za krmarjenje, ovrednotene z zbirko | OBJAVA | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
Odstranjevanja sklica na tabelo
| Postopek | Metoda | URI |
|---|---|---|
| Odstranjevanja sklica na tabelo | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) |
Odstranjevanje sklic na tabelo za lastnost krmarjenja z enojno vrednostjo
Za navigacijsko lastnost z eno vrednostjo odstranite $id parameter niza poizvedbe.
| Postopek | Metoda | URI |
|---|---|---|
| Odstranjevanje sklic na tabelo za lastnost krmarjenja z enojno vrednostjo | DELETE | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Spreminjanje sklica v lastnosti za krmarjenje z eno vrednostjo
| Postopek | Način | URI | Vzorec JSON |
|---|---|---|---|
| Spreminjanje sklica v lastnosti za krmarjenje z eno vrednostjo | PUT | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Pridružitev tabel ob ustvarjanju
Ustvarite lahko nove tabele z odnosi z globokim vstavljanjem.
Pridružitev tabel pri posodobitvi z lastnostjo krmarjenja z enojno vrednostjo
Tabele lahko pri posodobitvi povežete z istim sporočilom, opisanim v Osnovna posodobitev prej v tem tema, vendar morate uporabiti@odata.bind pripis za nastavitev vrednosti navigacijske lastnosti z eno vrednostjo. Naslednji primer spremeni račun, povezan s priložnostjo, z uporabocustomerid_account navigacijska lastnost z eno vrednostjo.
Pridružitev tabel pri posodobitvi z lastnostjo krmarjenja z enojno vrednostjo
| Postopek | Metoda | URI | Vzorec JSON |
|---|---|---|---|
| Pridružitev tabel pri posodobitvi z lastnostjo krmarjenja z enojno vrednostjo | PATCH | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Vzorci AJAX spletnega API-ja
Ta vzorec prikazuje, kako ustvariti, posodobiti in izbrisati zapise tabel z asinhronim JavaScriptom in XML-jem (AJAX).
Funkcija ovoja 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)
Create
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"))
}
});
Posodabljanje
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);
}
});
Naslednji korak
Vadnica: Uporabite spletni API portala
Glejte tudi
Pregled spletnega API-ja za portale Portali berejo operacije s spletnim API-jem
Opomba
Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)
Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).
Povratne informacije
Pošlji in prikaži povratne informacije za