Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
Sử dụng các phương pháp hành động và hàm của dataApi đối tượng để gọi API tùy chỉnh Dataverse được liên kết với trang.
Lưu ý
Các phương pháp hành động và chức năng là tùy chọn trong hợp đồng dataApi dùng chung. Một số máy chủ không thực hiện chúng, vì vậy hãy kiểm tra xem phương pháp có tồn tại trước khi gọi nó không. Phương pháp đang trình bày không có nghĩa là thao tác được liên kết với trang, được kích hoạt cho thời gian chạy hoặc được cho phép đối với người dùng hiện tại. Không giống như phương pháp kết nối, các phương pháp này không bao giờ ném cho các lỗi dự kiến; họ giải quyết bằng ok: false và thay vào đó là một mã lỗi. Xử lý rõ ràng các kết ok quả và error thuộc tính.
listBoundActions trả về các hành động và chức năng cấu hình thời gian chạy hiện tại cho phép cho trang khi khám phá đó được kích hoạt; nó không phải là một bảo đảm rằng người dùng hiện tại giữ đặc quyền Dataverse cần thiết để thực hiện mọi thao tác được liệt kê.
| Phương pháp | Mô tả |
|---|---|
executeAction |
Gọi API tùy chỉnh Dataverse được liên kết với trang dưới dạng một hành động. |
executeFunction |
Gọi API tùy chỉnh Dataverse được liên kết với trang dưới dạng một hàm. |
listBoundActions |
Liệt kê các API tùy chỉnh Dataverse (hành động và hàm) được liên kết với trang. |
executeAction phương pháp
Gọi API tùy chỉnh Dataverse mà một trình tạo liên kết với trang đó là một hành động (một thông báo có thể thay đổi dữ liệu).
Tham số
Đặt giá trị cho tham số bắt buộc này.
| Tên | Loại | Mô tả |
|---|---|---|
request |
DataverseActionRequest | Hành động để gọi và tham số đầu vào của nó. |
DataverseActionRequest
| Tên | Loại | Mô tả |
|---|---|---|
name |
string |
Tên duy nhất của API tùy chỉnh, có tiền tố nhà xuất bản, chẳng hạn như new_ApproveExpenseReport. |
parameters |
object |
(Tùy chọn) Các tham số đầu vào mà hành động yêu cầu, được tạo bởi tên tham số duy nhất. |
boundTo |
object |
(Tùy chọn) Tham chiếu hàng đích ( vàentityNameid) cho hành động liên kết thực thể. Bỏ qua cho các hành động toàn cục (không liên kết). |
Trả về
Lời hứa có chứa DataverseActionResult. Phương pháp này không bao giờ loại bỏ các lỗi dự kiến (chẳng hạn như lỗi quyền 403, tham số 400 xấu hoặc thao tác không bị ràng buộc hoặc bật) — ok thay vào đó hãy kiểm tra thuộc tính.
DataverseActionResult
| Tên | Loại | Mô tả |
|---|---|---|
ok |
boolean |
Cho biết hành động có thành công hay không. |
status |
number |
Mã trạng thái HTTP do Dataverse trả về, hoặc 0 khi không có trạng thái HTTP nào sẵn dùng.
0 Trạng thái có thể có nghĩa là thời gian chạy đã từ chối cuộc gọi trước khi gửi cuộc gọi (not_enabledví dụ, , not_bound, , wrong_operation_kindnot_permitted, invalid_parameterhoặc invalid_bound_to), yêu cầu không thành công mà không có phản hồi HTTP hoặc kết quả không xác định (indeterminate là true). Sử dụng error.code và để indeterminate phân biệt các trường hợp này. |
outputs |
object |
Tham số đầu ra do hành động trả về, được tạo bằng tên duy nhất. Trống đối với hành động không có đầu ra. |
indeterminate |
boolean |
(Tùy chọn) true khi hết thời gian chờ hoặc lỗi sau phân phát khác có nghĩa là máy chủ có thể đã thực hiện hành động; không tự động thử lại. |
error |
object |
(Tùy chọn) Chi tiết lỗi ok khi false, bao gồm máy có thể đọc được code và đã được vệ sinh message.
code
not_enabledlà một trong , not_bound, not_permitted, wrong_operation_kindinvalid_parameter, invalid_bound_to, indeterminate, networkhoặc , hoặc mã trạng thái HTTP của hành động dưới dạng một chuỗi ("404"ví dụ: ) khi Dataverse "0" trả về phản hồi lỗi hoặc khi không có trạng thái HTTP nào.
not_permitted có nghĩa là hành động hoặc hàm không nằm trên danh sách cho phép của môi trường để tạo trang — nó không cho biết liệu người dùng hiện tại có giữ đặc quyền Dataverse để chạy nó hay không. Lỗi đặc quyền thường xuất hiện như mã status: 403"403"lỗi ; nếu máy chủ không thể xác định trạng thái HTTP, thay vào đó máy chủ sẽ trả status: 0 về. |
ví dụ về executeAction
if (!dataApi.executeAction) {
throw new Error("executeAction isn't available on this page.");
}
const result = await dataApi.executeAction({
name: "new_ApproveExpenseReport",
parameters: { comments: "Approved by manager" },
boundTo: { entityName: "new_expensereport", id: "30dc51e9-947d-47d8-ad48-4fc48fba4a95" },
});
if (result.ok) {
console.log(result.outputs);
}
else {
console.log(result.error?.code);
}
executeFunction phương pháp
Gọi API tùy chỉnh Dataverse mà một trình tạo liên kết với trang dưới dạng một hàm (một thông báo chỉ đọc với ngữ nghĩa GET).
Tham số
Đặt giá trị cho tham số bắt buộc này.
| Tên | Loại | Mô tả |
|---|---|---|
request |
DataverseFunctionRequest | Hàm để gọi và tham số đầu vào của nó. |
DataverseFunctionRequest
| Tên | Loại | Mô tả |
|---|---|---|
name |
string |
Tên duy nhất của API tùy chỉnh, có tiền tố nhà xuất bản, chẳng hạn như new_GetExchangeRate. |
parameters |
object |
(Tùy chọn) Các tham số đầu vào mà hàm yêu cầu, được tạo bởi tên tham số duy nhất. |
boundTo |
object |
(Tùy chọn) Tham chiếu hàng đích (entityName và id) cho các hàm liên kết thực thể. Bỏ qua đối với các hàm toàn cục (không liên kết). |
Trả về
Lời hứa có chứa DataverseActionResult. Như với executeAction, phương pháp này không bao giờ ném cho lỗi dự kiến - kiểm tra thuộc tính ok thay vào đó.
ví dụ về executeFunction
if (!dataApi.executeFunction) {
throw new Error("executeFunction isn't available on this page.");
}
const result = await dataApi.executeFunction({
name: "new_GetExchangeRate",
parameters: { currencyCode: "EUR" },
});
if (result.ok) {
console.log(result.outputs);
}
listBoundActions phương pháp
Liệt kê các API tùy chỉnh Dataverse (hành động và hàm) mà một trình tạo liên kết với trang.
Tham số
None.
Trả về
Lời hứa có chứa một mảng các mục nhập DataverseActionInfo . Trả về một mảng trống khi khám phá không được kích hoạt cho thời gian chạy.
DataverseActionInfo
DataverseActionInfo phản ánh ý nghĩa của trình tạo trang cho hành động hoặc hàm này, chứ không phải siêu dữ liệu Dataverse trực tiếp. Không sử dụng công cụ này để xây dựng biểu mẫu nhập liệu hoặc xác thực đầu ra — xác minh các yêu cầu tham số và hình đầu ra dựa trên định nghĩa API tùy chỉnh Dataverse thực tế.
| Tên | Loại | Mô tả |
|---|---|---|
name |
string |
Tên duy nhất (lô-gic) của API tùy chỉnh Dataverse. |
displayName |
string |
Tên hiển thị của API tùy chỉnh. |
isFunction |
boolean |
true nếu API tùy chỉnh Dataverse là một hàm (chỉ đọc); false nếu đó là một hành động, bao gồm cả thời điểm giá trị này không được ghi lại tại thời điểm ràng buộc. |
bindingType |
string |
Kiểu ghép nối: "Global" hoặc "Entity". |
boundEntityLogicalName |
string |
(Tùy chọn) Bảng mà hành động hoặc hàm được gắn với, khi là bindingType"Entity". |
parameters |
Object[] |
Các tham số đầu vào được ghi lại khi API tùy chỉnh Dataverse được liên kết với trang, mỗi tham số có một name và declaredKind.
type luôn luôn "unknown" và optional luôn — không false phản ánh siêu dữ liệu thực tế của API tùy chỉnh Dataverse. |
outputs |
Object[] |
Luôn luôn là một mảng trống. Khám phá kết ghép không ghi lại các tham số đầu ra. |
listBoundActions Ví dụ
const actions = await dataApi.listBoundActions?.();