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