Напомена
Приступ овој страници захтева ауторизацију. Можете покушати да се пријавите или промените директоријуме.
Приступ овој страници захтева ауторизацију. Можете покушати да промените директоријуме.
Можете обављати доступне операције Web API-ја у порталима. Web API операције састоје се од HTTP захтева и одговора. Овај чланак пружа примере операција писања, ажурирања и брисања, методе, URI-је и JSON узорке које можете користити у HTTP захтевима.
Важно
- Верзија портала мора бити 9.3.3.к или новија да би ова функција радила.
Предуслови
Омогућите табелу и поље за Web API операције. Још информација: Поставке локације за Web API
Web API за портале приступа записима табеле и прати дозволе за табеле дате корисницима путем придружених веб-улога. Уверите се да сте конфигурисали одговарајуће дозволе за табелу. Још информација: Креирање веб-улога
Креирање записа у табели
Напомена
Када се позивате на Dataverse табеле које користе Web API портала, потребно је да користите EntitySetName, на пример, за приступ табели пословни контакт, синтакса кода ће користити EntitySetName пословни контакт.
Основно креирање
Операција | Метод | URI | JSON узорак |
---|---|---|---|
Основно креирање | Објављена порука | [URI портала]/_api/accounts | {"name":"Sample Account"} |
Пример JSON-а за креирање повезаних записа табеле у једној операцији
Као пример, следеће тело захтева постављено у скуп табела пословног контакта креираће укупно четири нове табеле, укључујући пословни контакт, у контексту креирања пословног контакта.
- Контакт се креира јер је дефинисан као својство објекта својства навигације са једном вредношћу
primarycontactid
. - Креира се могућност за пословање јер је дефинисана као објекат у оквиру низа који је подешен на вредност својства навигације са збирном вредношћу колекције
opportunity_customer_accounts
. - Креира се задатак јер је дефинисан као објекат у оквиру низа који је подешен на вредност својства навигације са збирном вредношћу колекције,
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" }
]
}
]
}
Повезивање записа табеле при креирању
Операција | Метод | URI | JSON узорак |
---|---|---|---|
Повезивање записа табеле при креирању | POST | [URI портала]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
Пример JSON за креирање анотације путем Web 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
ће садржати прилог као base64 стринг.
Ажурирајте и избришите записе помоћу Web API-ја
Основно ажурирање
Операција | Метод | URI | JSON узорак |
---|---|---|---|
Основно ажурирање | PATCH | [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 } |
Ажурирање јединствене вредности својства
Операција | Метод | URI | JSON узорак |
---|---|---|---|
Ажурирање јединствене вредности својства | PUT | [URI портала]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
Брисање или уклањање вредности поља
Операција | Метод | URI |
---|---|---|
Брисање или уклањање вредности поља | DELETE | [URI портала]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
Основно брисање
Операција | Метод | URI |
---|---|---|
Основно брисање | DELETE | [URI портала]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Придруживање и раздруживање табела помоћу Web API-ја
Додајте референцу на својство навигације са вредностима из колекције
Операција | Метод | URI | JSON узорак |
---|---|---|---|
Додајте референцу на својство навигације са вредностима из колекције | POST | [URI портала]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
Уклањање референце на табелу
Операција | Метод | URI |
---|---|---|
Уклањање референце на табелу | DELETE | [URI портала]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) |
Уклоните референцу на табелу за својство навигације са једном вредношћу
За својство навигације са једном вредношћу уклоните параметар ниске упита $id.
Операција | Метод | URI |
---|---|---|
Уклоните референцу на табелу за својство навигације са једном вредношћу | DELETE | [URI портала]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Промена референце у својству навигације са једном вредношћу
Операција | Метод | URI | JSON узорак |
---|---|---|---|
Промена референце у својству навигације са једном вредношћу | PUT | [URI портала]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Повезивање табела при креирању
Нове табеле се могу креирати коришћењем релација помоћу дубоког уметања.
Повезивање табела при ажурирању помоћу својства навигације са једном вредношћу
Табеле при ажурирању можете да повежете користећи исту поруку описану у одељку Основно ажурирање, раније у овој теми, али морате користити анотацију @odata.bind
за подешавање вредности својства навигације са једном вредношћу. Следећи пример мења пословни контакт који је повезан са могућношћу за пословање коришћењем својства навигације са једном вредношћу customerid_account
.
Повезивање табела при ажурирању помоћу својства навигације са једном вредношћу
Операција | Метод | URI | JSON узорак |
---|---|---|---|
Повезивање табела при ажурирању помоћу својства навигације са једном вредношћу | PATCH | [URI портала]/_api/opportunities(00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Web API AJAX примери
Овај пример показује како да креирате, ажурирате и избришете записе табеле користећи асинхрони JavaScript и XML (AJAX).
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)
Направи
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"))
}
});
Ажурирање
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);
}
});
Избриши
webapi.safeAjax({
type: "DELETE",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
success: function (res) {
console.log(res);
}
});
Повежи
Следећи пример ће доделити постојећи контакт као примарни контакт за постојећи пословни контакт.
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");
}
});
Следећи корак
Како : Користите портал Веб АПИ