2023年1月19日木曜日

Microsoft OneDriveを操作するAPEXアプリの作成(3) - Graph APIのテスト

 APEXアプリケーションにサインインしたユーザーで、OneDriveの操作を行うAPIを呼び出して応答を確認します。

Microsoft Graph APIはOData(Open Data Protocol)に対応しているとのことなので、以下のAskTOM Office Hourで紹介されているODataのREST Data Sourceプラグインを使用できるかもしれません。

APEX and OData? REST Data Sources at your service!
https://asktom.oracle.com/pls/apex/asktom.search?oh=19326

ODataプラグイン自体はGitHubからダウンロードしてインストールします。
https://github.com/oracle/apex/tree/22.2/plugins/rest-source/odata-rest-apis

ODataプラグインについては改めて調べることにして、本記事ではGraph APIを直接呼び出します。

すでに作成されているホーム・ページに、Graph APIの応答を表示する機能を実装します。

Bodyにページ・アイテムを作成します。

識別名前P1_MS_GRAPH_APIタイプテキスト・フィールドラベルMS Graph APIとします。このページ・アイテムにGraph APIのURLを入力します。


Graph APIを呼び出すボタンを作成します。

識別ボタン名SUBMITラベルSubmitとします。動作アクションとして動的アクションで定義を選択します。


新規にリージョンを作成します。

識別タイトルGraph API Responseとします。タイプとして動的コンテンツを選択します。APEX 22.2で新設されたリージョン・タイプで、リフレッシュに対応しています。

ソースCLOBを返すPL/SQLファンクション本体として、以下を記述します。

送信するページ・アイテムとしてP1_MS_GRAPH_APIを設定します。


ボタンSUBMITをクリックしたときに、リージョンGraph API Responseをリフレッシュする動的アクションを作成します。

ボタンSUBMIT上で動的アクションの作成を実行します。

識別タイトルClick Submitとします。タイミングはデフォルトで、イベントクリック選択タイプボタンボタンとしてSUBMITが設定されます。


TRUEアクション識別名前Call Graph APIアクションとしてリフレッシュを選択します。


以上でGraph APIを呼び出して応答を確認するページは完成です。

ページを実行し、テストしてみます。

最初にGraph APIとして以下を指定し、結果を確認します。

ユーザーが所有しているドライブの一覧を取得します。

https://graph.microsoft.com/v1.0/me/drives


JSON形式の応答が表示されます。この出力結果はアプリケーションを作る際に使用するため、コピーしてファイルに保存します。

例えば、drives.jsonというファイルに保存しておきます。

ドライブのルートにあるファイルを取得します。

https://graph.microsoft.com/v1.0/me/drive/root/children

こちらもJSONの応答を確認できます。


こちらのJSON形式の応答もファイルに保存しておきます。

例えば、root.jsonとして保存しておきます。

サインインしたユーザーが所有しているOneDrive上のファイルの一覧を、Microsoft Graph APIを呼び出して取得できることが確認できました。

次の記事では、上記のAPI呼び出しで取得できるファイルの一覧を対話モード・レポートで表示します。レポートで表示するにあたって、RESTデータ・ソースを作成します。

続く