Методы соединителя для создания страниц

Используйте методы соединителя dataApi объекта для работы с данными, предоставляемыми соединителем Power Platform, привязанным к странице.

Примечание.

Методы соединителя являются необязательными в общем dataApi контракте. Некоторые узлы не реализуют их, поэтому убедитесь, что метод существует перед вызовом. Метод, который присутствует, не означает, что страница привязана к нему соединителем или что подключение, набор данных, таблица или операция настроены, авторизованы или разрешены должным образом.

В отличие от методов действий и функций, методы соединителя отклоняют возвращаемое обещание при сбое вызова, например, если ссылка на подключение не может быть разрешена, подключение не авторизовано, и пользователь не завершает запрос согласия, или соединитель возвращает состояние ошибки. executeConnectorOperation разрешается для ok: false большинства состояний ошибок, но по-прежнему отклоняется для отсутствующих операций, несанкционированного подключения (403) без полного согласия или сбоя транспорта. Обтекание вызовов соединителя в try/catch.

Метод Description
createConnectorRow Создает новую строку в указанной таблице соединителя.
deleteConnectorRow Удаляет строку из указанной таблицы соединителей.
executeConnectorOperation Вызывает именованную операцию, предоставленную соединителем REST (ключом операции), например Пользователи Office 365.
getConnectorSwagger Извлекает определение Swagger (OpenAPI) для соединителя.
getConnectorTableSchema Извлекает схему таблицы (также называемой сущностью или списком), предоставляемой соединителем.
listConnectorDatasets Выводит список наборов данных, доступных для соединителя.
listConnectorOperations Выводит список операций, предоставляемых соединителем REST (ключом операции).
listConnectorTables Список таблиц, доступных в указанном наборе данных соединителя.
queryConnectorTable Запрашивает таблицу, предоставленную соединителем, с указанными параметрами.
retrieveConnectorRow Извлекает одну строку из указанной таблицы соединителя.
updateConnectorRow Обновляет существующую строку в указанной таблице соединителя.

queryConnectorTableМетод

Запрашивает таблицу, предоставленную соединителем, с помощью указанных параметров.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанная к странице (например, sp_shared_sharepointonline).
dataset string Набор данных, содержащий таблицу, например URL-адрес сайта SharePoint.
tableName string Внутреннее имя таблицы из name свойства, возвращаемого listConnectorTables. Не используйте отображаемое имя.
options QueryConnectorTableOptions Параметры запроса таблицы.

QueryConnectorTableOptions

Name Type Description
select string[] (Рекомендуется) Массив имен столбцов для извлечения.
filter string (Необязательно) Выражение фильтра, поддерживаемого соединителем.
orderBy string (Необязательно) Выражение order-by, поддерживаемого соединителем.
top number (Необязательно) Максимальное количество возвращаемых строк.

Returns

Обещание, содержащее результат операции. После успешной операции обещание возвращает объект, содержащий таблицу данных с результатами со следующими свойствами:

Name Type Description
rows Object[] Массив данных строк.
hasMoreRows boolean Указывает, есть ли больше строк.

queryConnectorTable возвращает одну страницу результатов. Она не возвращает функцию продолжения, и в настоящее время нет поддерживаемого способа получения следующей страницы. Если hasMoreRows задано trueзначение , больше строк, чем возвращено. Сузите запрос или filterсообщите пользователю, что результаты неполны.

Пример queryConnectorTable

if (!dataApi.listConnectorTables || !dataApi.queryConnectorTable) {
  throw new Error("Connector methods aren't available on this page.");
}

const tables = await dataApi.listConnectorTables(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing"
);
const documentsTable = tables.find((table) => table.displayName === "Documents");
if (!documentsTable) {
  throw new Error("The Documents table wasn't found in this dataset.");
}
const documentsTableName = documentsTable.name;

const result = await dataApi.queryConnectorTable(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName,
  {
    select: ["Title", "Modified"],
    top: 50,
  }
);

В следующих примерах предполагается, что documentsTableName таблица name находится из listConnectorTablesтаблицы, как показано выше.

listConnectorTablesМетод

Перечисляет таблицы (списки или сущности), доступные в указанном наборе данных соединителя.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанной к странице.
dataset string Набор данных для перечисления таблиц.

Returns

Обещание, содержащее массив сведений о таблице. Каждая запись имеет следующие свойства:

Name Type Description
name string Внутреннее имя таблицы.
displayName string Отображаемое имя таблицы.

Пример listConnectorTables

const tables = await dataApi.listConnectorTables?.(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing"
);

listConnectorDatasetsМетод

Выводит список наборов данных, доступных для соединителя, таких как SharePoint сайты, к которых может получить доступ подключение.

Parameters

Задайте значение для этого обязательного параметра.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанной к странице.

Returns

Обещание, содержащее массив сведений о наборе данных. Каждая запись имеет следующие свойства:

Name Type Description
name string Внутреннее имя или идентификатор набора данных.
displayName string Отображаемое имя набора данных.

Пример listConnectorDatasets

const datasets = await dataApi.listConnectorDatasets?.("sp_shared_sharepointonline");

listConnectorOperationsМетод

Выводит список операций, определенных в определении Swagger соединителя, за исключением операций, помеченных внутренними, отсортированных по отображаемого имени. Этот метод наиболее полезен для соединителей REST (клавиши операций), таких как Пользователи Office 365. Для табличных соединителей используйте методы запроса и строки вместо операций, указанных в этом методе.

Parameters

Задайте значение для этого обязательного параметра.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанной к странице.

Returns

Обещание, содержащее массив сведений об операциях. Каждая запись имеет следующие свойства:

Name Type Description
name string Идентификатор операции, определенный в определении Swagger соединителя. Передайте это значение executeConnectorOperationв .
displayName string Имя операции, доступной для чтения для отображения, например сводка Swagger. Возвращается обратно, name если сводка не определена.

Пример listConnectorOperations

const operations = await dataApi.listConnectorOperations?.("sp_shared_sharepointonline");

getConnectorSwaggerМетод

Извлекает определение Swagger (OpenAPI) для соединителя, описывающее операции, предоставляемые им. Возвращаемый документ описывает соединитель в целом. Она не включает схемы столбцов для табличных соединителей. Используйте getConnectorTableSchema для этой информации.

Parameters

Задайте значение для этого обязательного параметра.

Name Type Description
connectorApiId string Идентификатор API соединителя, например /providers/Microsoft.PowerApps/apis/shared_sharepointonline. Этот идентификатор отличается от логического имени подключения (connectorLogicalName), используемого большинством других методов соединителя.

Returns

Обещание, содержащее определение Swagger соединителя в качестве объекта.

Пример getConnectorSwagger

if (!dataApi.getConnectorSwagger) {
  throw new Error("getConnectorSwagger isn't available on this page.");
}

const swagger = await dataApi.getConnectorSwagger(
  "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
);

getConnectorTableSchemaМетод

Извлекает схему (определения столбцов) для таблицы, предоставляемой соединителем. Соединитель определяет схему, которую она возвращает, и она зависит от соединителя. Не предполагайте, что он включает в себя каждый динамический столбец, который может содержать таблицу.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанной к странице.
dataset string Набор данных, содержащий таблицу.
tableName string Внутреннее имя таблицы из name свойства, возвращаемого listConnectorTables. Не используйте отображаемое имя.

Returns

Обещание, содержащее схему таблицы в качестве объекта.

Пример getConnectorTableSchema

if (!dataApi.getConnectorTableSchema) {
  throw new Error("getConnectorTableSchema isn't available on this page.");
}

const schema = await dataApi.getConnectorTableSchema(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName // from listConnectorTables
);

retrieveConnectorRowМетод

Извлекает одну строку из указанной таблицы соединителя.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанной к странице.
dataset string Набор данных, содержащий таблицу.
tableName string Внутреннее имя таблицы из name свойства, возвращаемого listConnectorTables. Не используйте отображаемое имя.
id string Идентификатор строки, извлекаемой.
options RetrieveConnectorRowOptions (Необязательно) Параметры получения строки.

RetrieveConnectorRowOptions

Name Type Description
select string[] (Рекомендуется) Массив имен столбцов для извлечения. Если опущено, проекция не $select отправляется— соединитель определяет, какие столбцы следует возвращать и не гарантирует возврат каждого столбца в строке.

Returns

Обещание, содержащее данные строки.

Пример retrieveConnectorRow

if (!dataApi.retrieveConnectorRow) {
  throw new Error("retrieveConnectorRow isn't available on this page.");
}

const row = await dataApi.retrieveConnectorRow(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName, // from listConnectorTables
  "1"
);

createConnectorRowМетод

Создает новую строку в указанной таблице соединителя.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанной к странице.
dataset string Набор данных, содержащий таблицу.
tableName string Внутреннее имя таблицы из name свойства, возвращаемого listConnectorTables. Не используйте отображаемое имя.
row object Создаваемые данные строки.

Returns

Обещание, содержащее текст ответа, возвращаемый соединителем, если таковой имеется. В зависимости от соединителя это значение может быть созданной строкой, частичной строкой или без значения.

Пример createConnectorRow

if (!dataApi.createConnectorRow) {
  throw new Error("createConnectorRow isn't available on this page.");
}

const newRow = await dataApi.createConnectorRow(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName, // from listConnectorTables
  { Title: "New document" }
);

updateConnectorRowМетод

Обновляет существующую строку в указанной таблице соединителя.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанной к странице.
dataset string Набор данных, содержащий таблицу.
tableName string Внутреннее имя таблицы из name свойства, возвращаемого listConnectorTables. Не используйте отображаемое имя.
id string Идентификатор строки для обновления.
row object Обновляемая строка данных.

Returns

Обещание, содержащее текст ответа, возвращаемый соединителем, если таковой имеется. В зависимости от соединителя это значение может быть обновленной строкой, частичной строкой или без значения. Чтобы считывать текущие значения строки, вызовите retrieveConnectorRow.

Пример updateConnectorRow

if (!dataApi.updateConnectorRow) {
  throw new Error("updateConnectorRow isn't available on this page.");
}

const updatedRow = await dataApi.updateConnectorRow(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName, // from listConnectorTables
  "1",
  { Title: "Updated title" }
);

deleteConnectorRowМетод

Удаляет строку из указанной таблицы соединителей.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанной к странице.
dataset string Набор данных, содержащий таблицу.
tableName string Внутреннее имя таблицы из name свойства, возвращаемого listConnectorTables. Не используйте отображаемое имя.
id string Идентификатор строки для удаления.

Returns

Обещание, содержащее результат операции. Когда операция завершается успешно, она не возвращает значения.

Пример deleteConnectorRow

if (!dataApi.deleteConnectorRow) {
  throw new Error("deleteConnectorRow isn't available on this page.");
}

await dataApi.deleteConnectorRow(
  "sp_shared_sharepointonline",
  "https://contoso.sharepoint.com/sites/Marketing",
  documentsTableName, // from listConnectorTables
  "1"
);

executeConnectorOperationМетод

Вызывает именованную операцию, предоставленную соединителем REST (ключом операции), например HTTP, Teams send-message или Пользователи Office 365. Вместо этого табличные соединители должны использовать методы запроса и строки CRUD.

Parameters

Задайте значения для этих обязательных параметров.

Name Type Description
connectorLogicalName string Логическое имя ссылки на подключение, привязанной к странице.
operationName string Идентификатор операции, определенный в определении Swagger соединителя.
parameters object Параметры, необходимые операции. Передайте пустой объект ({}), если операция не принимает параметров, этот параметр требуется, даже если нет ничего для отправки.

Returns

Обещание, содержащее результат операции с этими свойствами. Обещание отклоняет, если ссылка на подключение не может быть разрешена, определение Swagger соединителя не может быть извлечено, операция не найдена в нем, вызов не может быть отправлен, или подключение не авторизовано (HTTP 403), и пользователь не завершает запрос согласия на подключение.

Name Type Description
ok boolean true если базовое состояние HTTP меньше 400. Это состояние включает в себя состояния перенаправления (3xx), поэтому не рассматриваются ok только как подтверждение возвращаемых данных операции — также проверка или проверка statusbody.
status number Необработанный код состояния HTTP, возвращаемый соединителем.
body unknown Текст ответа JSON или необработанная строка, если текст не json.

Пример executeConnectorOperation

В следующем примере предполагается операция с именем CopyFile , которая принимает sourceUrl и destinationUrl параметры. Проверьте идентификатор операции и его параметры в собственном определении Swagger соединителя (например, с listConnectorOperations или getConnectorSwagger) перед его использованием, так как доступные операции и их параметры зависят от соединителя.

if (!dataApi.executeConnectorOperation) {
  throw new Error("executeConnectorOperation isn't available on this page.");
}

try {
  const result = await dataApi.executeConnectorOperation(
    "sp_shared_sharepointonline",
    "CopyFile",
    { sourceUrl: "/sites/Marketing/Shared Documents/file.docx", destinationUrl: "/sites/Sales/Shared Documents/file.docx" }
  );

  if (result.ok) {
    console.log(result.body);
  }
  else {
    console.log(result.status);
  }
}
catch (error) {
  console.log(error);
}