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).
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle