
ソリューション連携 第6回 - Graph APIを利用したSharePointの自動化 -
ソリューション連携の連載シリーズ、第6回はSharePointの自動化を取り上げます。
まず、SharePointの自動化については、以下の通りいくつかの方法が考えられます。
エクスプローラーを利用
ブラウザを利用したUI操作
API (Microsoft Graph API) を利用
今回は、その中で最も1. 処理速度が速く、2. 安定性があり、3. メンテナンス性が高い(UI変更による影響を受けない)、Microsoft Graph APIを利用した自動化方法をご紹介いたします。
Microsoft Graph とは
Microsoft Graphは、Microsoft 365やAzure ADなど、様々なサービスのデータにアクセスすることができるエンドポイントです。Micorost Graphには3つのコンポーネントが用意されていますが、本記事では最もメジャーな利用方法であるREST APIを用いたコネクタをご紹介いたします。

DX (Digital Exchange)アセット
DX (Digital Exchange) で検索すると、関連するコネクタ(Connector for Microsoft Graph API - Sharepoint - 、Connector for Microsoft Graph API - Authentication -)がいくつか見つかります。では早速、これらをダウンロードして利用してみましょう。


事前準備
SharePointコネクターを利用するには、Azure Portalで事前設定をする必要があります。以下、そのステップを紹介いたします。
1. アプリ登録
まず、Azure Portal のメニューから「アプリの登録」を選択します。
※アプリとは、Graph APIを利用する単位になります。





2. 認証情報の取得
登録したアプリを選択し、認証に必要な以下の情報を取得します。
テナントID
クライアントID
クライアントシークレット



3. APIのアクセス許可
登録したアプリに対し、APIアクセス許可の設定を行います。アクセス許可の詳細については、こちらをご確認ください。



プロセス作成
1. Access Token 取得
Graph APIを利用するには、まず「Connector for Microsoft Graph API - Authentication -」によりGraph APIの認証を行い、Access Tokenを取得する必要があります。
以下は、「Connector for Microsoft Graph API - Authentication -」オブジェクトになります。入力パラメータとして(事前準備で取得した)Tenant ID, Client ID, Client Scecret をセットして呼び出すと、作成されたAccess Token が取得でき、取得したAccess Token を以降の処理で(認証キーとして)使用可能になります。

2. SharePoint の主な操作
Graph APIで提供されているSharePoint操作のアクションは少し独特で、使いこなすには少し慣れが必要です。詳細については、こちらのドキュメントを参照頂ければと思いますが、以下、いくつか代表的なものを挙げたいと思います。
Get All Drives:サイト(SharePoint のチームサイト)配下のドライブ一覧を取得
Get Root Folder ID: ドライブ配下のルートフォルダIDを取得
Create Folder:特定のフォルダ配下に指定した名前にてサブフォルダを作成
Get Drive Items:フォルダ配下のすべてのアイテム(フォルダ、ファイル、等)の一覧を取得
Upload File:バイナリファイルを指定したフォルダにアップロード ※バイナリファイルの作成は、Utility - File Management の「Read Binary Data」等により実現可能
※上記名称は、Connector for Microsoft Graph API - Sharepoint - のアクション名となります。
3. ファイルダウンロード
以前の記事でも紹介した通り、現在、Blue PrismのWeb APIサービスは「multipart/form-data」に対してバイナリデータをサポートしていないため注意が必要です。これにより、ファイルダウンロード処理は別アセットで提供されていますので、こちらのアセットをダウンロードの上ご利用ください。

使用方法としては、(以下のように)ダウンロードしたVBO: Microsoft Graph - Download Files のDownload from SharePoint を呼び出します。入力に#2で取得したSite ID, File IDと、保存先ファイル名(絶対パス)をSave Toにセットすることで、ファイルダウンロードが可能となります。

まとめ
いかがでしたでしょうか。
SharePointをはじめ、Microsoft 365サービスではUIを含む各機能のアップデートが頻繁に実施されるため、UI操作による自動化ではその都度再スパイ等のメンテナンスが必要となります。
このような課題を解消するためにも、今回ご紹介したMicrosoft Graph APIを利用した自動化方法を是非ご検討頂ければと思います。