Del via


Bruke nett-API for portaler til å skrive, oppdatere og slette operasjoner

Obs!

Fra og med 12. oktober 2022 er Power Apps-portaler Power Pages. Mer informasjon: Microsoft Power Pages er nå tilgjengelig (blogg)
Vi overfører og slår snart sammen Power Apps-portaldokumentasjonen med Power Pages-dokumentasjonen.

Du kan utføre tilgjengelige Web API-operasjoner i portaler. Web API-operasjoner består av HTTP-forespørsler og -svar. Denne artikkelen inneholder eksempeloperasjoner for lesing, oppdatering og sletting, metoder, URI og eksempel-JSON du kan bruke i HTTP-forespørsler.

Viktig

  • Portalversjonen må være 9.3.3.x eller senere for at denne funksjonen skal fungere.

Krav

  • Aktivere tabell og felt for web-API-operasjoner. Mer informasjon: Områdeinnstillinger for web-APIen

  • Web-API for portaler får tilgang til tabellposter og følger tabelltillatelsene som gis til brukere via den tilknyttede webroller. Kontroller at du har konfigurert de riktige tabelltillatelsene. Mer informasjon: Opprette webroller

Opprette en oppføring i en tabell

Obs!

Når du refererer til Dataverse-tabeller ved å bruke web-API-en for portaler, må du for eksempel bruke EntitySetName til å få tilgang til account-tabellen, og kodesyntaksen vil bruke accounts under EntitySetName.

Grunnleggende oppretting

Operasjon Metode URI JSON-eksempel
Grunnleggende oppretting POST [Portal URI]/_api/accounts {"navn":"Eksempelkonto"}

Eksempel på JSON for oppretting av relaterte tabelloppføringer i én operasjon

Som et eksempel vil følgende forespørselstekst som er postert til Forretningsforbindelse-tabellen opprette totalt fire nye tabeller, inkludert kontoen, i forbindelse med opprettingen av forretningsforbindelsen.

  • Det opprettes en kontakt fordi den er definert som en objektegenskap for navigasjonsegenskapen primarycontactid med én verdi.
  • En salgsmulighet opprettes fordi den er definert som et objekt i en matrise som er satt til verdien for en samlingsverdinavigasjonsegenskap opportunity_customer_accounts.
  • En oppgave opprettes fordi den er definert som et objekt i en matrise som er satt til verdien for en samlingsverdinavigasjonsegenskap 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" }
      ]
  }
 ]
}

Tilknytte tabelloppføringer ved oppretting

Operation Method URI JSON-eksempel
Tilknytte tabelloppføringer ved oppretting POST [Portal URI]/_api/accounts {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"}

Eksempel-JSON for oppretting av en merknad via Web-API-en

{
    "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 skal inneholde vedlegget som en base64-streng.

Oppdater og slett oppføringer ved hjelp av nett-API-en

Grunnleggende oppdatering

Operasjon Metode URI JSON-eksempel
Grunnleggende oppdatering OPPDATERING [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 }

Oppdatere én enkelt egenskapsverdi

Operasjon Metode URI JSON-eksempel
Oppdatere én enkelt egenskapsverdi PUT [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name {"value": "Updated Sample Account Name"}

Slette eller fjerne en feltverdi

Operation Method URI
Slette eller fjerne en feltverdi DELETE [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description

Grunnleggende sletting

Operasjon Metode URI
Grunnleggende sletting DEL [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)

Tilknytte og oppheve tilknytning av tabeller ved hjelp av Web-API

Legge til en referanse i en navigasjonsegenskap for en samlingsverdi

Operasjon Metode URI JSON-eksempel
Legge til en referanse i en navigasjonsegenskap for en samlingsverdi Innlegg [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"}

Fjerne en referanse til en tabell

Operasjon Metode URI
Fjerne en referanse til en tabell DELETE [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)

Fjerne en referanse til en tabell for en navigasjonsegenskap med én verdi

Hvis du vil ha en navigasjonsegenskap med én verdi, fjerner du $id-spørringsstrengparameteren.

Operasjon Metode URI
Fjerne en referanse til en tabell for en navigasjonsegenskap med én verdi DELETE [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref

Endre referansen i en navigasjonsegenskap med én verdi

Operasjon Metode URI JSON-eksempel
Endre referansen i en navigasjonsegenskap med én verdi PLASSER [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"}

Tilknytte tabeller ved oppretting

Nye tabeller kan opprettes med relasjoner ved hjelp dyp innsetting.

Tilknytte tabeller ved oppdatering ved hjelp av en navigasjonsegenskap med én verdi

Du kan knytte tabeller til oppdateringer ved å bruke den samme meldingen som er beskrevet i Grunnleggende oppdatering tidligere i emnet, men du må bruke @odata.bind-merknaden til å angi verdien for en navigasjonsegenskap med én verdi. Følgende eksempel endrer forretningsforbindelsen som er knyttet til en salgsmulighet, ved hjelp av customerid_account-navigasjonsegenskapen med én verdi.

Tilknytte tabeller ved oppdatering ved hjelp av en navigasjonsegenskap med én verdi

Operasjon Metode URI JSON-eksempel
Tilknytte tabeller ved oppdatering ved hjelp av en navigasjonsegenskap med én verdi PATCH [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"}

Web API AJAX-eksempler

Dette eksempelet viser hvordan du oppretter, oppdaterer og sletter tabelloppføringer ved hjelp av Asynchronous JavaScript og XML (AJAX).

Wrapper AJAX-funksjon

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

Opprette

    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);
        }
  });

Neste trinn

Opplæring: Bruke nett-API-en for portal

Se også

Oversikt over nett-API for portaler
Leseoperasjoner for portaler ved hjelp av web-API

Obs!

Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)

Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).