アプリ開発の調査にかかる
時間を削減したい
内製化支援サービス
アプリを自分たちで
作成できるようになりたい
DX人材育成プログラム
プロに開発を依頼したい
アプリ開発導入支援サービス
SharePoint デザイン拡張サービス
X-SP Design
モダン化から運用管理までサポート
SharePoint 構築支援サービス
はじめに
SharePointやPower Automateを活用して業務の自動化を進める際、標準アクションだけでは対応できない高度な処理が必要になることがあります。
そのような場合、APIを直接操作することで、より柔軟で高度な自動化を実現できます。
しかし、どのようなAPIが送受信されているのか分からないと、適切なリクエストを作成することができません。
そこで、本記事ではSharePointで使われているAPIを特定する方法を解説します。
API特定の必要性
なぜAPIを特定する必要があるのか
Power Automateで自動化を行う際、APIを直接操作すると、標準アクションでは対応できない高度な処理が可能になります。
しかし、APIの送受信内容が分からなければ、適切なリクエストを作成できません。
次のような場面では、APIを特定する必要が出てくることもあると思います。
Power Automateの標準アクションで対応できない処理を実行したい
SharePointやWebサービスで使用されているAPIを把握したい
取得データの構造やレスポンスの内容を確認したい
どのようなリクエストが送信されているかを検証したい
このような場合、ブラウザの開発者ツールを活用してAPIの動作を分析し、適切なリクエストを作成することで、自動化の幅を広げることができます。
準備するツール
APIの特定には、以下のツールを使用します。
これらのツールを活用することで、APIの挙動をより詳細に把握し、必要な情報を取得しやすくなります。
開発者ツール(ブラウザのF12キー)
Google ChromeやEdgeなどのブラウザには、標準で開発者ツールが搭載されています。このツールの「Network」タブを使用すると、ブラウザが送受信しているAPIのリクエストやレスポンスを確認できます。
【あると便利なツール】Postman(APIテストツール)
Postmanは、APIリクエストを手動で実行し、レスポンスの内容を確認できるツールです。
APIの動作確認やカスタムリクエストのテストを行う際に役立ちます。
特に、ヘッダー情報やリクエストのBodyを自由に設定し、異なるパラメータでAPIの挙動を試せる点が特徴です。
API特定の手順
ここからは、実際に開発者ツールを使ってAPIを特定する手順を解説します。
※ 本記事ではGoogle Chromeを使用した方法で紹介しております。
今回は、SharePointサイトの画面上部、スイートバーにある検索窓で検索した時に使用されているAPIや送信されるリクエストを確認します。
1. SharePointサイトにアクセスし、F12キーで開発者ツールを開く
まず、ブラウザでSharePointサイトにアクセスした上で、開発者ツールを開きます。
Google ChromeやEdgeでは、F12キーを押すと開発者ツールが起動します。
または、右上の「︙」メニュー(1)をクリックし、[その他のツール](2) > [デベロッパーツール](3) を選択することでも開く事ができます。(Chromeブラウザの場合)
2. Networkタブを開く
開発者ツールの「Network」タブ選択します。
ここでは、ブラウザが送受信しているリクエストを確認できます。
3. 実際に検索を行う
SharePointの検索センター(スイートバーの検索窓)で実際に検索してみます。
「Network」タブの「Name」部分にSharePointサイトの動作に関わる様々なリクエストが表示されます。
4. APIのリクエストを絞り込む
開発者ツールの「Network」タブには多くのリクエストが表示されるため、APIリクエストを絞り込むことが重要です。
まず、[Fetch/XHR]フィルター(1)を選択し、API通信に関連するリクエストのみを表示します。その中から、今回は検索に関するAPIを特定するために「query」(2)が含まれているリクエストを絞り込みます。
検索に関連するリクエストは複数存在することがあるため、一覧の中から適切なものを選択し、詳細情報を確認していきます。
5. レスポンスデータの確認
APIのレスポンスデータを確認することで、取得される情報の構造や内容を把握できます。
まず、「Name」(1)にあるリクエストを選択します。
次に「Response」タブ(2)を開き、APIの生データを確認します。ここでは、実際に返されるJSON形式のデータが表示されます。
「Preview」タブ(3)を開くと、レスポンスデータが整形された状態で確認できます。
データの階層構造や各フィールドの値を視覚的に把握しやすくなります。
また、「Preview」タブ内のEntitySets > ResultsSets > Results には、検索結果の情報があります。
画面の検索結果や数と一致しているかを確認し、目的のリクエストであるかチェックしましょう。
(今回の例では、検索結果の件数や内容が画面と一致するかが判断材料になります。他のAPIの場合は、対象機能に応じてレスポンス内の情報を確認しましょう)
6. APIリクエストの詳細を確認
「Headers」タブを開き、「▶Request Headers」内の「path」を確認します。 ここには、APIリクエストのエンドポイントや、送信時に使用されるクエリのパラメータが含まれています。
また、「Payload」タブを開くと、リクエストのボディ部分に含まれるデータを確認できます。
7. PostmanでAPIを検証
特定したAPIをPostmanで検証することで、リクエストの動作を確認できます。
APIのリクエストをコピー
開発者ツールの「Network」タブ(1)で、特定したAPIリクエストを右クリックし、「Copy」(2) > 「Copy as cURL (bash)」(3)を選択します。
Postmanでリクエストを送信
Postmanアプリを開き、ワークスペースで「+」(1)をクリックします。画面上部の欄(2)に先ほどCopy as URL(bash)でコピーしたAPIリクエストを貼り付けて送信(3)すると、リクエストの詳細情報を確認できます。
画面の上部分にある「ボディ」(4)には送信したリクエストの内容が表示され、下半分にはサーバーから返されるレスポンス情報が表示されます。
また、レスポンスデータはデフォルトではそのままの形式で表示されますが、「整形」(5)を押すことで見やすく整えられた状態で確認できます。
ボディ内の 「QueryTemplate」(6)に記載の条件 = SharePoint検索バーでの検索条件となります。
ちなみに、Postmanでの確認方法を紹介しましたが、Postmanを使用せず開発者ツール(ブラウザのF12キー)で「QueryTemplate」を確認することもできます。
「Payload」タブ内の Request Payload > EntityRequests > 0 > Query
開発者ツールで実際に探してみた時、Chromeの開発者ツールの検索では(リクエストのフィルターをかけていても)全APIリクエストから検索してしまい探すのがちょっと大変だったので、Postmanを使用した方が早くて見やすいと思いました。
特定したAPIの活用例
標準機能では対応できない処理も、APIを活用すれば実現できることがあります。
たとえば、Power Automateを使用したSharePointのリスト移行時、システム列(作成日・作成者など)は標準ではコピーできませんが、APIを利用すれば可能になります。また、Power AutomateのHTTPリクエストに関するアクションと組み合わせることで、特定のAPIを直接呼び出し、データの取得や更新を自動化することもできるでしょう。
「標準機能でできないことも、APIを調査すれば解決できる場合がある」ことを知っておくと、業務の自動化や効率化の幅が広がります。
さいごに
APIを特定する手順として、開発者ツールを活用してリクエスト内容を分析する方法を紹介しました。
Postmanを併用することで、さらに詳細なAPIの挙動を確認できます。
初めてAPIを調査する場合は、この手順を参考に試してみてください。
(なお、本記事の作成にあたり、弊社のYさんに特定方法を伝授いただきました。Yさんありがとうございました!)
SharePointやAPIに関するご相談やサポートが必要な場合は、アーティサン株式会社までお気軽にお問い合わせください。
【こちらも合わせて読みたい】
小鷹 枝里子
🖊小鷹枝里子さんのブログ一覧はこちら2016年12月、メーカーの事務兼CADオペレーターから未経験のIT業界に飛び込もうとアーティサンに入社。
今は主に Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当しております。
山形県出身、神奈川県在住。何となく海に近い所に住むのが好きです。インドア派なので滅多に海行かないんですけどね。
趣味はゲームで、最近はのんびりスマホゲームや某狩りゲームをやってます。
推しのうまい棒は納豆味。
こんにちは。アーティサンの小鷹です。