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
JSON形式の応答が表示されます。この出力結果はアプリケーションを作る際に使用するため、コピーしてファイルに保存します。
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というファイルに保存しておきます。
ドライブのルートにあるファイルを取得します。