Kopīgot, izmantojot


Portālu tīmekļa API rakstīšanas, atjaunināšanas un dzēšanas darbību izmantošana

Piezīme

No 2022. gada 12. oktobra, Power Apps portāli ir Power Pages. Papildinformācija. Pakalpojums Microsoft Power Pages tagad ir vispārēji pieejams (emuārs)
Drīzumā Power Apps portālu dokumentācija tiks migrēta un sapludināta ar Power Pages dokumentāciju.

Varat veikt pieejamās tīmekļa API operācijas portālos. Web API operācijas sastāv no HTTP pieprasījumiem un atbildēm. Šajā rakstā ir parādītas parauga rakstīšanas, atjaunināšanas un dzēšanas operācijas, metodes, URI, un parauga JSON, ko var izmantot HTTP pieprasījumos.

Svarīgi

  • Jūsu portāla versijai jābūt 9.3.3.x vai jaunākai, lai šis līdzeklis darbotos.

Priekšnoteikumi

  • Iespējot tabulu un lauku tīmekļa API operācijām. Papildu informācija: Tīmekļa API vietnes iestatījumi

  • Portālu Web API piekļūst tabulu ierakstiem un ievēro tabulas atļaujas, kas lietotājiem tiek dotas, izmantojot saistītās tīmekļa lomas. Pārliecinieties, vai ir konfigurētas pareizās tabulu atļaujas. Papildu informācija: Tīmekļa lomu izveide

Izveidot tabulas ierakstu

Piezīme

Atsaucoties uz Dataverse tabulām, kas izmanto portālu Web API, ir jāizmanto EntitySetName, piemēram, lai piekļūtu uzņēmuma tabulai, koda sintakse izmantos uzņēmumu EntitySetName.

Pamata izveide

Darbība Metode URI JSON Paraugs
Pamata izveide ZIŅA [Portal URI]/_api/accounts {"nosaukums":"Parauga uzņēmums}

JSON paraugs saistīto tabulu ierakstu veidošanai vienā operācijā

Piemēram, tālāk sniegtais pieprasījuma pamatteksts, kas publicēts tabulas Konts kopā, izveidos četras jaunas tabulas (tostarp kontu) konta veidošanas kontekstā.

  • Kontaktpersona tiek izveidota, jo tā ir definēta kā objekta rekvizīts, kas ir daļa no vienas vērtības navigācijas rekvizīta primarycontactid.
  • Iepēja tiek izveidota, jo tā ir definēta kā opjekts masīvā, kas iestatīts kā kolekcijas navigācijas rekvizīta opportunity_customer_accounts vērtība.
  • Uzdevums tiek izveidots, jo tas ir definēts kā objekts masīvā, kas iestatīts uz vērtību kolekcijai, kuras vērtība ir 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" }
      ]
  }
 ]
}

Tabulu ierakstu saistīšana izveides laikā

Darbība Metode URI JSON Paraugs
Tabulu ierakstu saistīšana izveides laikā POST [Portal URI]/_api/accounts {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"}

Parauga JSON, lai izveidotu anotāciju, izmantojot tīmekļa API

{
    "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 paturēs šo pielikumu kā base64 virkni.

Ierakstu atjaunināšana un dzēšana, izmantojot tīmekļa API

Pamata atjauninājums

Darbība Metode URI JSON Paraugs
Pamata atjauninājums PATCH [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 }

Atsevišķas rekvizīta vērtības atjaunināšana

Darbība Metode URI JSON Paraugs
Atsevišķas rekvizīta vērtības atjaunināšana NOVIETOT [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/nosaukums {"value": "Updated Sample Account Name"}

Lauka vērtības dzēšana vai notīrīšana

Darbība Metode URI
Lauka vērtības dzēšana vai notīrīšana DZĒST [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/apraksts

Pamata dzēšana

Darbība Metode URI
Pamata dzēšana DZĒST [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)

Entītiju sasaiste un atsaiste, izmantojot tīmekļa API

Atsauces pievienošana kolekcijas vērtējamām navigācijas rekvizītam

Darbība Metode URI JSON Paraugs
Atsauces pievienošana kolekcijas vērtējamām navigācijas rekvizītam Ziņa [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"}

Atsauces uz tabulu noņemšana

Darbība Metode URI
Atsauces uz tabulu noņemšana DELETE [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)

Vienas vērtības navigācijas rekvizīta atsauces noņemšana uz tabulu

Vienas vērtības navigācijas rekvizītam noņemiet $id vaicājuma virknes parametru.

Darbība Metode URI
Vienas vērtības navigācijas rekvizīta atsauces noņemšana uz tabulu DELETE [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref

Mainīt atsauci vienas vērtības navigācijas rekvizītā

Darbība Metode URI JSON Paraugs
Mainīt atsauci vienas vērtības navigācijas rekvizītā NOVIETOT [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"}

Tabulu ierakstu saistīšana izveides laikā

Jaunas tabulas var izveidot ar attiecībām, izmantojot padziļinātu ievietošanu.

Saistīt tabulas atjaunināšanai, izmantojot vienas vērtības navigācijas rekvizītu

Atjauninātās tabulas var saistīt, izmantojot to pašu ziņojumu, kas aprakstīts šīs tēmas Basic update rakstā, bet anotācija @odata.bind ir jāizmanto, lai iestatītu vienas vērtības navigācijas rekvizīta vērtību. Šajā piemērā tiek mainīts konts, kas saistīts ar iespēju, izmantojot rekvizītu customerid_account ar vienu vērtību.

Saistīt tabulas atjaunināšanai, izmantojot vienas vērtības navigācijas rekvizītu

Darbība Metode URI JSON Paraugs
Saistīt tabulas atjaunināšanai, izmantojot vienas vērtības navigācijas rekvizītu 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 paraugi

Šajā paraugā parādīts, kā izveidot, atjaunināt un dzēst entītiju ierakstus, izmantojot asinhronu JavaScript un XML (AJAX).

Iesaiņojuma AJAX funkcija

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

Veidošana

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

Atjauninājums

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

Nākamā darbība

Apmācība: portāla tīmekļa API lietošana

Skatiet arī:

Portālu tīmekļa API pārskats
Portālu lasītās operācijas, izmantojot tīmekļa API

Piezīme

Kādas ir jūsu dokumentācijas valodas preferences? Aizpildiet īsu aptauju. (ņemiet vērā, ka aptauja ir angļu valodā)

Aptaujai būs nepieciešamas aptuveni septiņas minūtes. Nekādi personas dati netiks vākti (paziņojums par konfidencialitāti).