Erabili atariak Web APIa idatzi, eguneratu eta ezabatzeko eragiketak egiteko

Oharra

2022ko urriaren 12tik aurrera, Power Pages izango da Power Apps atarien izen berria. Informazio gehiago: Microsoft Power Pages erabilgarri dago modu orokorrean (bloga)
Laster migratuko eta konbinatuko dugu Power Apps atarien dokumentazioa Power Pages dokumentazioarekin.

Egin dezakezu eskuragarri dauden web APIen eragiketak atarietan. Web APIaren eragiketak HTTP eskaerek eta erantzunek osatzen dute. Artikulu honek HTTP eskaeretan erabil ditzakezun eragiketak, metodoak, URIak eta JSON laginak idatzi, eguneratu eta ezabatzeko laginak eskaintzen ditu.

Garrantzitsua

  • Atariaren bertsioak 9.3.3.x edo berriagoa izan behar du funtzio honek funtziona dezan.

Aurrebaldintzak

  • Gaitu taula eta eremua Web API eragiketetarako. Informazio gehiago: Web APIaren gune-ezarpenak

  • Atarietako Web APIak taula-erregistroak atzitzen ditu eta lotutako web-rolen bidez erabiltzaileei emandako taula-baimenei jarraitzen die. Ziurtatu taularen baimen egokiak konfiguratzen dituzula. Informazio gehiago: Sortu web-rolak

Sortu erregistro bat taula batean

Oharra

Dataverse taulak atarietako Web APIa erabiliz aipatzean, EntitySetName erabili behar duzu, adibidez, kontua taula atzitzeko, kodearen sintaxiak kontuak atalaren EntitySetName-a erabiliko du.

Oinarrizko Sortu

Eragiketa Metodoa URIa JSOn Lagina
Oinarrizko Sortu BIDALI [Ataria URI]/_api/accounts {"izena":"Laginaren kontua"}

Eragiketa batean erlazionatutako taulako erregistroak sortzeko JSON lagina

Adibidez, Kontua taula-multzoan argitaratutako eskaera-gorputzak guztira lau taula berri sortuko ditu (kontua barne) kontua sortzeko testuinguruan.

  • Kontaktu bat sortzen da primarycontactid balio bakarreko nabigazio-propietatearen objektu-propietate gisa zehaztuta dagoelako.
  • Abagune bat sortzen da, opportunity_customer_accounts bildumako nabigazio-propietate baten balioan ezarrita dagoen matrize baten barruan dagoen objektu gisa zehazten delako.
  • Zeregin bat sortzen da Opportunity_Tasks bildumako balio duen nabigazio-propietate baten balioan ezarritako matrize baten barruan objektu gisa zehaztuta dagoelako.
{
 "name": "Sample Account",
 "primarycontactid":
 {
     "firstname": "Alton",
     "lastname": "Stott"
 },
 "opportunity_customer_accounts":
 [
  {
      "name": "Opportunity associated to Sample Account",
      "Opportunity_Tasks":
      [
       { "subject": "Task associated to opportunity" }
      ]
  }
 ]
}

Elkartu taulako erregistroak sortzean

Eragiketa Metodoa URIa JSOn Lagina
Elkartu taulako erregistroak sortzean POST [Ataria URI]/_api/accounts {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"}

JSON lagina Web API bidez oharpen bat sortzeko

{
    "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 eranskina base64 kate gisa edukiko du.

Eguneratu eta ezabatu erregistroak Web APIa erabiliz

Oinarrizko eguneratzea

Eragiketa Metodoa URIa JSOn Lagina
Oinarrizko eguneratzea ADABAKIA [Ataria 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 }

Eguneratu jabetza bakarraren balioa

Eragiketa Metodoa URIa JSOn Lagina
Eguneratu jabetza bakarraren balioa JARRI [Ataria URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/izena {"value": "Updated Sample Account Name"}

Ezabatu edo garbitu eremu-balio bat

Eragiketa Metodoa URIa
Ezabatu edo garbitu eremu-balio bat DELETE [Ataria URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/deskribapena

Oinarrizko ezabatzea

Eragiketa Metodoa URIa
Oinarrizko ezabatzea DELETE [Ataria URI]/_api/accounts(00000000-0000-0000-0000-000000000001)

Erlazionatu eta kendu erlazioa taulei Web API erabiliz

Gehitu bilduma balioetsitako nabigazio propietate bati erreferentzia

Eragiketa Metodoa URIa JSOn Lagina
Gehitu bilduma balioetsitako nabigazio propietate bati erreferentzia BIDALI [Ataria URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"}

Kendu taula bati buruzko erreferentzia

Eragiketa Metodoa URIa
Kendu taula bati buruzko erreferentzia EZABATU [Ataria URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)

Kendu taula bateko erreferentzia balio bakarreko nabigazio propietate baterako

Balio bakarreko nabigazio-propietate baterako, kendu $id kontsulta-katearen parametroa.

Eragiketa Metodoa URIa
Kendu taula bateko erreferentzia balio bakarreko nabigazio propietate baterako EZABATU [Ataria URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref

Aldatu erreferentzia balioesteko nabigazio propietate batean

Eragiketa Metodoa URIa JSOn Lagina
Aldatu erreferentzia balioesteko nabigazio propietate batean JARRI [Ataria URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"}

Elkartu taulak sortzean

Taula berriak harremanekin sor daitezke erabiliz sakona txertatu.

Elkartu eguneratzean taulak balio bakarreko nabigazio propietate bat erabiliz

Eguneratzean taulak lotu ditzakezu gai honetan lehenago Oinarrizko eguneratzea atalean deskribatutako mezu bera erabiliz, baina @odata.bind oharpena erabili behar duzu balio bakarreko nabigazio-propietate baten balioa ezartzeko. Adibide honetan aukera bati lotutako kontua aldatzen da customerid_account balio bakarreko nabigazio-propietatea erabiliz.

Elkartu eguneratzean taulak balio bakarreko nabigazio propietate bat erabiliz

Eragiketa Metodoa URIa JSOn Lagina
Elkartu eguneratzean taulak balio bakarreko nabigazio propietate bat erabiliz PATCH [Ataria URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"}

Web APIaren AJAX laginak

Lagin honek erakusten du taulako erregistroak nola sortu, eguneratu eta ezabatu JavaScript asinkronoa eta XML (AJAX) erabiliz.

Wrapper AJAX funtzioa

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

Sortu

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

Ezabatu

    webapi.safeAjax({
        type: "DELETE",
        url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
        contentType: "application/json",
        success: function (res) {
            console.log(res);
        }
  });

Hurrengo urratsa

Tutoriala: Erabili atarien Web-APIa

Ikusi ere

Atarien web APIaren informazio orokorra
Atariek eragiketak irakurtzen dituzte Web APIa erabiliz

Oharra

Esan diezagukezu dokumentazioa zein hizkuntzatan jaso nahi duzun? Egin inkesta labur bat. (kontuan izan inkesta hau ingelesez dagoela)

Inkestak zazpi minutu inguru iraungo du. Ez da datu pertsonalik biltzen (pribatutasun-adierazpena).