ページにバインドされた Power Platform コネクタによって公開されるデータを操作するには、 dataApi オブジェクトのコネクタ メソッドを使用します。
Note
コネクタ メソッドは、共有 dataApi コントラクトでは省略可能です。 一部のホストでは実装されないため、メソッドを呼び出す前にメソッドが存在することを確認してください。 存在するメソッドは、ページにコネクタがバインドされていること、または接続、データセット、テーブル、または操作が期待どおりに構成、承認、または許可されていることを意味するものではありません。
アクションメソッドや関数メソッドとは異なり、コネクタ メソッドは、呼び出しが失敗したときに返された Promise を拒否します。たとえば、接続参照を解決できない場合、接続が承認されておらず、ユーザーが同意プロンプトを完了しない場合や、コネクタがエラー状態を返す場合などです。
executeConnectorOperation は、ほとんどのエラー状態の ok: false で解決されますが、不足している操作、未承認の接続 (403) が完了していない場合、またはトランスポートエラーが発生しても拒否されます。 コネクタの呼び出しを try/catchでラップします。
| メソッド | Description |
|---|---|
createConnectorRow |
指定したコネクタ テーブルに新しい行を作成します。 |
deleteConnectorRow |
指定したコネクタ テーブルから行を削除します。 |
executeConnectorOperation |
REST (操作キー付き) コネクタによって公開される名前付き操作 (Office 365 ユーザーなど) を呼び出します。 |
getConnectorSwagger |
コネクタの Swagger (OpenAPI) 定義を取得します。 |
getConnectorTableSchema |
コネクタによって公開されるテーブル (エンティティまたはリストとも呼ばれます) のスキーマを取得します。 |
listConnectorDatasets |
コネクタで使用できるデータセットを一覧表示します。 |
listConnectorOperations |
REST (操作キー付き) コネクタによって公開される操作を一覧表示します。 |
listConnectorTables |
指定したコネクタ データセットで使用できるテーブルを一覧表示します。 |
queryConnectorTable |
指定したオプションを使用して、コネクタによって公開されるテーブルに対してクエリを実行します。 |
retrieveConnectorRow |
指定したコネクタ テーブルから 1 行を取得します。 |
updateConnectorRow |
指定したコネクタ テーブル内の既存の行を更新します。 |
queryConnectorTable メソッド
指定したオプションを使用して、コネクタによって公開されるテーブルに対してクエリを実行します。
Parameters
これらの必須パラメーターの値を設定します。
| Name | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名 (たとえば、 sp_shared_sharepointonline)。 |
dataset |
string |
SharePoint サイト URL など、テーブルを含むデータセット。 |
tableName |
string |
listConnectorTablesによって返されるname プロパティのテーブルの内部名。 表示名は使用しないでください。 |
options |
QueryConnectorTableOptions | テーブルに対してクエリを実行するためのオプション。 |
QueryConnectorTableOptions
| Name | タイプ | Description |
|---|---|---|
select |
string[] |
(推奨)取得する列名の配列。 |
filter |
string |
(省略可能)コネクタでサポートされているフィルター式。 |
orderBy |
string |
(省略可能)コネクタでサポートされている Order-by 式。 |
top |
number |
(省略可能)返される行の最大数。 |
Returns
操作の結果を含む Promise 。 操作が成功すると、promise は次のプロパティを持つ結果を含むデータ テーブルを含むオブジェクトを返します。
| Name | タイプ | Description |
|---|---|---|
rows |
Object[] |
行データの配列。 |
hasMoreRows |
boolean |
使用可能な行が増えるかどうかを示します。 |
queryConnectorTable は、結果の 1 ページを返します。 継続関数は返されません。現在、次のページをフェッチする方法はサポートされていません。
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がlistConnectorTablesからのテーブルのnameを保持していることを前提としています。
listConnectorTables メソッド
指定したコネクタ データセットで使用できるテーブル (リストまたはエンティティ) を一覧表示します。
Parameters
これらの必須パラメーターの値を設定します。
| Name | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名。 |
dataset |
string |
テーブルを一覧表示するデータセット。 |
Returns
テーブル情報の配列を含む Promise 。 各エントリには、次のプロパティがあります。
| Name | タイプ | Description |
|---|---|---|
name |
string |
テーブルの内部名。 |
displayName |
string |
テーブルの表示名。 |
listConnectorTables の例
const tables = await dataApi.listConnectorTables?.(
"sp_shared_sharepointonline",
"https://contoso.sharepoint.com/sites/Marketing"
);
listConnectorDatasets メソッド
接続がアクセスできるSharePoint サイトなど、コネクタで使用できるデータセットを一覧表示します。
Parameters
この必須パラメーターの値を設定します。
| Name | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名。 |
Returns
データセット情報の配列を含む Promise 。 各エントリには、次のプロパティがあります。
| Name | タイプ | Description |
|---|---|---|
name |
string |
データセットの内部名または識別子。 |
displayName |
string |
データセットの表示名。 |
listConnectorDatasets の例
const datasets = await dataApi.listConnectorDatasets?.("sp_shared_sharepointonline");
listConnectorOperations メソッド
コネクタの Swagger 定義で定義されている操作を一覧表示します。内部としてマークされた操作は表示名で並べ替えされません。 この方法は、Office 365 ユーザーなどの REST (操作キー付き) コネクタに最も役立ちます。 表形式コネクタの場合は、このメソッドが一覧表示する操作ではなく、クエリメソッドと行メソッドを使用します。
Parameters
この必須パラメーターの値を設定します。
| Name | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名。 |
Returns
操作情報の配列を含む Promise 。 各エントリには、次のプロパティがあります。
| Name | タイプ | Description |
|---|---|---|
name |
string |
コネクタの Swagger 定義で定義されている操作 ID。 この値を executeConnectorOperationに渡します。 |
displayName |
string |
Swagger の概要など、表示用の人間が判読できる操作名。 概要が定義されていない場合は、 name にフォールバックします。 |
listConnectorOperations の例
const operations = await dataApi.listConnectorOperations?.("sp_shared_sharepointonline");
getConnectorSwagger メソッド
コネクタの Swagger (OpenAPI) 定義を取得します。これは、コネクタが公開する操作を記述します。 返されるドキュメントでは、コネクタ全体について説明します。 表形式コネクタのテーブルごとの列スキーマは含まれません。 その情報には getConnectorTableSchema を使用します。
Parameters
この必須パラメーターの値を設定します。
| Name | タイプ | Description |
|---|---|---|
connectorApiId |
string |
コネクタ API 識別子 ( /providers/Microsoft.PowerApps/apis/shared_sharepointonlineなど)。 この識別子は、他のほとんどのコネクタ メソッドで使用される接続参照論理名 (connectorLogicalName) とは異なります。 |
Returns
コネクタの Swagger 定義をオブジェクトとして含む Promise 。
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 | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名。 |
dataset |
string |
テーブルを含むデータセット。 |
tableName |
string |
listConnectorTablesによって返されるname プロパティのテーブルの内部名。 表示名は使用しないでください。 |
Returns
テーブルのスキーマをオブジェクトとして含む Promise 。
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 メソッド
指定したコネクタ テーブルから 1 行を取得します。
Parameters
これらの必須パラメーターの値を設定します。
| Name | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名。 |
dataset |
string |
テーブルを含むデータセット。 |
tableName |
string |
listConnectorTablesによって返されるname プロパティのテーブルの内部名。 表示名は使用しないでください。 |
id |
string |
取得する行の ID。 |
options |
RetrieveConnectorRowOptions | (省略可能)行を取得するためのオプション。 |
RetrieveConnectorRowOptions
| Name | タイプ | Description |
|---|---|---|
select |
string[] |
(推奨)取得する列名の配列。 省略した場合、 $select プロジェクションは送信されません。コネクタは返す列を決定し、行のすべての列を返すとは限りません。 |
Returns
行データを含む Promise 。
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 | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名。 |
dataset |
string |
テーブルを含むデータセット。 |
tableName |
string |
listConnectorTablesによって返されるname プロパティのテーブルの内部名。 表示名は使用しないでください。 |
row |
object |
作成する行データ。 |
Returns
コネクタによって返される応答本文 (存在する場合) を含む Promise 。 コネクタに応じて、この値は、作成された行、部分的な行、または値を指定できません。
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 | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名。 |
dataset |
string |
テーブルを含むデータセット。 |
tableName |
string |
listConnectorTablesによって返されるname プロパティのテーブルの内部名。 表示名は使用しないでください。 |
id |
string |
更新する行の ID。 |
row |
object |
更新する行データ。 |
Returns
コネクタによって返される応答本文 (存在する場合) を含む Promise 。 コネクタに応じて、この値は更新された行、部分的な行、または値を指定できません。 行の現在の値を読み取るために、 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 | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名。 |
dataset |
string |
テーブルを含むデータセット。 |
tableName |
string |
listConnectorTablesによって返されるname プロパティのテーブルの内部名。 表示名は使用しないでください。 |
id |
string |
削除する行の ID。 |
Returns
操作の結果を含む Promise 。 操作が成功すると、値は返されません。
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 の送信メッセージ、Office 365 ユーザーなど) を呼び出します。 表形式コネクタでは、代わりにクエリと行 CRUD メソッドを使用する必要があります。
Parameters
これらの必須パラメーターの値を設定します。
| Name | タイプ | Description |
|---|---|---|
connectorLogicalName |
string |
ページにバインドされている接続参照の論理名。 |
operationName |
string |
コネクタの Swagger 定義で定義されている操作 ID。 |
parameters |
object |
操作に必要なパラメーター。 操作がパラメーターを受け取らない場合は、空のオブジェクト ({}) を渡します。このパラメーターは、送信するものがない場合でも必要です。 |
Returns
これらのプロパティを含む操作結果を含む Promise 。 接続参照を解決できない、コネクタの Swagger 定義を取得できない、操作が見つからない、呼び出しをディスパッチできない、接続が承認されていない (HTTP 403) 場合、ユーザーが接続の同意プロンプトを完了しない場合、promise は拒否します。
| Name | タイプ | Description |
|---|---|---|
ok |
boolean |
true 基になる HTTP 状態が 400 未満の場合。 この状態にはリダイレクト (3xx) 状態が含まれるため、 ok だけを操作から返されたデータの証拠として扱わないようにします。また、 status を確認したり、 bodyを検査したりしないでください。 |
status |
number |
コネクタによって返される生の HTTP 状態コード。 |
body |
unknown |
解析された JSON 応答本文。本文が JSON でない場合は生の文字列。 |
executeConnectorOperation の例
次の例では、sourceUrlパラメーターとdestinationUrl パラメーターを受け取る CopyFile という名前の操作を想定しています。 使用できる操作とそのパラメーターはコネクタによって異なるため、操作 ID とそのパラメーターを使用する前に、コネクタ独自の 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);
}