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).