Portaalien Web API -kirjoitus-, päivitys- ja poistotoimintojen käyttäminen
Huomautus
Power Apps -portaaleja kutsutaan 12. lokakuuta 2022 alkaen nimellä Power Pages. Lisätietoja: Microsoft Power Pages on nyt yleisesti saatavilla (blogi)
Siirrämme ja yhdistämme Power Apps -portaalien dokumentaation pian Power Pagesin dokumentaatioon.
Voit suorittaa portaaleissa käytettävissä olevia verkko-ohjelmointirajapinnan toimintoja. Verkko-ohjelmointirajapinnan toiminnot koostuvat HTTP-pyynnöistä ja -vastauksista. Tässä artikkelissa on esimerkki kirjoitus-, päivitys- ja poistotoiminnoista, -menetelmistä, URI:sta ja malli-JSON:ista, jota voit käyttää HTTP-pyynnöissä.
Tärkeä
- Portaalin version on oltava 9.3.3.x tai uudempi versio, jotta toiminto toimii oikein.
Edellytykset
Ota taulukko ja kenttä käyttöön Web API -toiminnoissa. Lisätietoja: Web-ohjelmointirajapinnan sivustoasetukset
Portaalien Web API käyttää taulukon tietueita ja noudattaa taulukkoon liittyviä käyttöoikeuksia, jotka on annettu käyttäjille liittyvien WWW-roolien kautta. Varmista, että määrität oikeat taulukko-oikeudet. Lisätietoja: Verkkoroolien luominen
Tietueen luominen taulukkoon
Huomautus
Kun viittaat Dataverse-taulukoihin käyttämällä portaalien verkkorajapintaa, käytä esimerkiksi EntitySetName-nimeä tilin taulukon käyttämiseen, koodisyntaksi käyttää tilien EntitySetName-nimeä tilit.
Perusluonti
Operaatio | Metodi | URI | JSON-näyte |
---|---|---|---|
Perusluonti | VIESTI | [Portaalin URI]/_api/accounts | {"name":"Sample Account"} |
Näyte-JSON liittyvien taulukkotietueiden luomiseen yhtenä toimenpiteenä
Esimerkiksi seuraava Tili-taulukkojoukkoon kirjattu pyyntöelin luo tilin luomisen yhteydessä yhteensä neljä uutta taulukkoa, mukaan lukien tilin.
- Yhteystieto luodaan, koska se on määritetty yksiarvoisen siirtymisominaisuuden
primarycontactid
-objektiominaisuudeksi. - Mahdollisuus luodaan, koska se on määritetty objektiksi taulukossa, joka on asetettu kokoelman arvoisen navigointiominaisuuden
opportunity_customer_accounts
-arvoon. - Tehtävä luodaan, koska se on määritetty objektiksi taulukossa, joka on asetettu kokoelman arvoisen navigointiominaisuuden
Opportunity_Tasks
-arvoon.
{
"name": "Sample Account",
"primarycontactid":
{
"firstname": "Alton",
"lastname": "Stott"
},
"opportunity_customer_accounts":
[
{
"name": "Opportunity associated to Sample Account",
"Opportunity_Tasks":
[
{ "subject": "Task associated to opportunity" }
]
}
]
}
Taulukkotietueiden liittäminen luonnin aikana
Operaatio | Metodi | URI | JSON-näyte |
---|---|---|---|
Taulukkotietueiden liittäminen luonnin aikana | POST | [Portaalin URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
Esimerkki-JSON huomautuksen luontiin verkko-ohjelmointirajapinnan avulla.
{
"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
sisältää liitteen base64-merkkijonona.
Tietueiden päivittäminen ja poistaminen verkko-ohjelmointirajapinnan avulla
Peruspäivitys
Toiminto | Menetelmä | URI | JSON-näyte |
---|---|---|---|
Peruspäivitys | PATCH | [Portaalin 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 } |
Yksittäisen ominaisuuden arvon päivittäminen
Toiminto | Tapa | URI | JSON-näyte |
---|---|---|---|
Yksittäisen ominaisuuden arvon päivittäminen | PUT | [Portaalin URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
Kentän arvon poistaminen tai tyhjentäminen
Operaatio | Metodi | URI |
---|---|---|
Kentän arvon poistaminen tai tyhjentäminen | DELETE | [Portaalin URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
Peruspoisto
Toiminto | Tapa | URI |
---|---|---|
Peruspoisto | DEL | [Portaalin URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Taulukoiden liittäminen ja liitoksen purkaminen verkko-ohjelmointirajapinnan avulla
Viittauksen lisääminen kokoelma-arvoiseen siirtymisominaisuuteen
Toiminto | Tapa | URI | JSON-näyte |
---|---|---|---|
Viittauksen lisääminen kokoelma-arvoiseen siirtymisominaisuuteen | Viesti | [Portaalin URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
Taulukkoon tehdyn viittauksen poistaminen
Toiminto | Menetelmä | URI |
---|---|---|
Taulukkoon tehdyn viittauksen poistaminen | DELETE | [Portaalin URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portaalin URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) |
Yksiarvoisen siirtymisominaisuuden viittauksen poistaminen taulukosta
Poista yksiarvoisessa siirtymisominaisuudessa $id-kyselymerkkijonon parametri.
Toiminto | Menetelmä | URI |
---|---|---|
Yksiarvoisen siirtymisominaisuuden viittauksen poistaminen taulukosta | DELETE | [Portaalin URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Viittauksen muuttaminen yksiarvoisessa siirtymisominaisuudessa
Toiminto | Tapa | URI | JSON-näyte |
---|---|---|---|
Viittauksen muuttaminen yksiarvoisessa siirtymisominaisuudessa | PUT | [Portaalin URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Taulukoiden liittäminen luonnin aikana
Suhteet sisältäviä uusia taulukoita voidaan luoda käyttämällä syvälisäystä.
Taulukoiden liittäminen päivityksen yhteydessä käyttämällä yksiarvoista siirtymisominaisuutta
Taulukoita voi liittää päivityksen yhteydessä käyttämällä aiemmin tämän aiheen Peruspäivitys-kohdassa kuvattua viestiä. Siinä on kuitenkin käytettävä @odata.bind
-huomautusta määrittämään yksiarvoisen siirtymisominaisuuden arvo. Seuraava esimerkki muuttaa mahdollisuuteen liittyvää tiliä käyttämällä customerid_account
-yksiarvoista siirtymisominaisuutta.
Taulukoiden liittäminen päivityksen yhteydessä käyttämällä yksiarvoista siirtymisominaisuutta
Toiminto | Menetelmä | URI | JSON-näyte |
---|---|---|---|
Taulukoiden liittäminen päivityksen yhteydessä käyttämällä yksiarvoista siirtymisominaisuutta | PATCH | [Portaalin URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Verkko-ohjelmointirajapinnan AJAX-esimerkit
Tämä näyte osoittaa, miten taulukkotietueita luodaan, päivitetään ja poistetaan käyttämällä AJAX (Asynchronous JavaScript and XML) -tekniikoita.
Paketoijan AJAX-toiminto
(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)
Luo
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);
}
});
Delete
webapi.safeAjax({
type: "DELETE",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
success: function (res) {
console.log(res);
}
});
Seuraava vaihe
Opasohjelma: portaalin verkko-ohjelmointirajapinnan käyttäminen
Katso myös
Portaalien verkko-ohjelmointirajapinnan yleiskuvaus
Portaalien lukutoiminnot Web-ohjelmointirajapinnan avulla
Huomautus
Voitko kertoa meille dokumentaatiota koskevan kielimäärityksesi? Vastaa lyhyeen kyselyyn. (Huomaa, että tämä kysely on englanninkielinen.)
Kyselyyn vastaaminen kestää noin seitsemän minuuttia. Henkilökohtaisia tietoja ei kerätä (tietosuojatiedot).