Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Można wykonać Dostępne operacje interfejsu API sieci Web w portalach. Operacje interfejsu API sieci Web składają się z żądań i odpowiedzi HTTP. Ten artykuł zawiera przykładowe operacje zapisu, aktualizacji i usuwania, metody, identyfikator URI i przykładowy kod JSON, których można używać w żądaniach HTTP.
Ważne
- Aby ta funkcja działała, trzeba mieć wersję portali 9.3.3.x lub nowszą.
Wymagania wstępne
Włącz tabelę i pole dla operacji interfejsu API sieci Web. Więcej informacji: Ustawienia witryny dla internetowego interfejsu API
Internetowy interfejs API portali uzyskuje dostęp do rekordów tabel i postępuje zgodnie z uprawnieniami do tabel przyznanymi użytkownikom za pośrednictwem skojarzonych ról internetowych. Upewnij się, że skonfigurowano poprawne uprawnienia do tabeli. Więcej informacji: Tworzenie ról internetowych
Utwórz rekord w tabeli
Uwaga
Odwołując się do tabel Dataverse za pomocą internetowego interfejsu API portali, musisz użyć EntitySetName, na przykład, aby uzyskać dostęp do tabeli konto, składnia kodu będzie używała nazwy EntitySetName z kont.
Tworzenie podstawowe
| Działanie | Metoda | Identyfikator URI | Przykład JSON: |
|---|---|---|---|
| Tworzenie podstawowe | PUBLIKUJ | [Portal URI]/_api/accounts | {"name":"Sample Account"} |
Przykładowy kod JSON tworzenia rekordów tabeli pokrewnej w jednej operacji
Na przykład następująca treść żądania opublikowana w zestawie tabel Konta utworzy w sumie cztery nowe tabele — w tym konto — w kontekście tworzenia konta.
- Kontakt jest tworzony, ponieważ jest zdefiniowany jako właściwość obiektu jednowartościowej właściwości nawigacji
primarycontactid. - Szansa sprzedaży jest tworzona, ponieważ jest zdefiniowana jako obiekt w tablicy, która jest ustawiona na wartość właściwości nawigacji o wartości kolekcji
opportunity_customer_accounts. - Zadanie jest tworzone, ponieważ jest zdefiniowane jako obiekt w tablicy, która jest ustawiona na wartość właściwości nawigacji o wartości kolekcji
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" }
]
}
]
}
Kojarzenie rekordów tabeli przy tworzeniu
| Operation | Method | Identyfikator URI | Przykład JSON: |
|---|---|---|---|
| Kojarzenie rekordów tabeli przy tworzeniu | POST | [Portal URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
Przykładowy kod JSON polegający na utworzeniu adnotacji za pośrednictwem internetowego interfejsu 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 będzie zawierać załącznik w postaci ciągu Base64.
Aktualizowanie i usuwanie rekordów za pomocą interfejsu API sieci Web
Podstawowa aktualizacja
| Operation | Metoda | Identyfikator URI | Przykład JSON: |
|---|---|---|---|
| Podstawowa aktualizacja | POPRAWKA | [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 } |
Aktualizowanie pojedynczej wartości właściwości
| Operacja | Metoda | Identyfikator URI | Przykład JSON: |
|---|---|---|---|
| Aktualizowanie pojedynczej wartości właściwości | ODŁÓŻ | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
Usuwanie lub usuwanie wartości pola
| Działanie | Method | Identyfikator URI |
|---|---|---|
| Usuwanie lub usuwanie wartości pola | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
Usuwanie podstawowe
| Operacja | Metoda | Identyfikator URI |
|---|---|---|
| Usuwanie podstawowe | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Skojarz i rozłącz tabele za pomocą internetowego interfejsu API
Dodaj odwołanie do właściwości nawigacji o wartości kolekcji
| Operacja | Metoda | Identyfikator URI | Przykład JSON: |
|---|---|---|---|
| Dodaj odwołanie do właściwości nawigacji o wartości kolekcji | WPIS | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
Usuwanie odwołania do tabeli
| Operacja | Metoda | Identyfikator URI |
|---|---|---|
| Usuwanie odwołania do tabeli | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) |
Usuwanie odwołania do tabeli dla jedno valued właściwości nawigacji
Aby uzyskać jednowartościową właściwość nawigacji, Usuń parametr ciągu zapytania $id.
| Operacja | Metoda | Identyfikator URI |
|---|---|---|
| Usuwanie odwołania do tabeli dla jedno valued właściwości nawigacji | DELETE | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Zmiana odwołania w jednowartościowej właściwości nawigacji
| Operacja | Metoda | Identyfikator URI | Przykład JSON: |
|---|---|---|---|
| Zmiana odwołania w jednowartościowej właściwości nawigacji | ODŁÓŻ | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Kojarzenie tabeli przy tworzeniu
Korzystając z funkcji deep insert, można relacje nowe tabele.
Kojarzenie tabel podczas aktualizacji przy użyciu jedno valued właściwości nawigacji
Tabele dotyczące aktualizacji można skojarzyć, korzystając z tego samego komunikatu opisanego w aktualizacji podstawowej — wcześniej w tym temat, ale do ustawienia wartości jednowartościowej właściwości nawigacji należy użyć adnotacji @odata.bind. Poniższy przykład zmienia konto skojarzone z szansą sprzedaży przy użyciu jednowartościowej właściwości nawigacji customerid_account.
Kojarzenie tabel podczas aktualizacji przy użyciu jedno valued właściwości nawigacji
| Operacja | Metoda | Identyfikator URI | Przykład JSON: |
|---|---|---|---|
| Kojarzenie tabel podczas aktualizacji przy użyciu jedno valued właściwości nawigacji | PATCH | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Przykłady AJAX internetowego interfejsu API
W tym przykładzie pokazano, jak tworzyć, aktualizować i usuwać rekordy tabel za pomocą języka JavaScript asynchronicznego i języka XML (XML).
Funkcja otoki AJAX
(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)
Utworzenie
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"))
}
});
Zaktualizuj
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);
}
});
Utwórz skojarzenie
Poniższy przykład przypisze istniejący kontakt jako główny kontakt dla istniejącego konta.
var record = {};
record[primarycontactid@odata.bind] = "/contacts(00000000-0000-0000-0000-000000000002)";
webapi.safeAjax({
type: "PATCH",
contentType: "application/json",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
data: JSON.stringify(record),
success: function (data, textStatus, xhr) {
console.log("Record updated");
}
});
Następny krok
Samouczek: Używanie internetowego interfejsu API portali