Microsoftは、R言語を使って「Microsoft 365」スイートを操作できるオープンソースパッケージ「Microsoft365R」を発表した。認証やOneDriveの操作、SharePointサイトへのアクセスなどに役立つという。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2021年2月9日(米国時間)、R言語を使ってクラウドサービススイート「Microsoft 365」を操作するためのオープンソースパッケージ「Microsoft365R」を発表した。Rは、統計解析やその可視化などに役立つオープンソースのプログラミング言語とランタイム環境だ。
Microsoft365Rは「AzureGraph」パッケージで提供されるMicrosoft Graph APIを拡張し、「Microsoft SharePoint」と「Microsoft OneDrive」に対する軽量で強力なインタフェースを提供する。今後は「Microsoft Teams」と「Microsoft Outlook」もサポートする見込みだ。Teamsチャネルへのポストや、Outlookによる電子メール送信が可能になるという。
Microsoft365Rは、CRAN(The Comprehensive R Archive Network)で提供されており、GitHubから開発版をインストールすることもできる。
Microsoft365R関数のいずれかを初めて呼び出すと、他のWebアプリケーションと同様の方法で、Webブラウザを使った「Azure Active Directory」(AAD)認証ができる。ダイアログボックスの表示後、ユーザーは、自らの情報へのアクセスを許可するよう求められる。
Microsoft365Rは、AADテナント「aicatr」でアプリケーションとして登録されている。グループとSharePointサイトに対する読み出し/書き込みアクセスを必要とするため、管理者がユーザーテナントへのアクセスを許可する必要がある。
環境変数「CLIMICROSOFT365_AADAPPID」が設定されている場合、Microsoft365Rは認証のために、その値をアプリケーションIDとして使用する。あるいは、以下で紹介する関数を呼び出す際に、アプリケーションIDを引数として指定することもできる。
GitHubリポジトリでは、Microsoft365Rがブロックされた場合の対策情報がまとめられている。
個人用のOneDriveにアクセスするには、personal_onedrive関数を呼び出せばよい。「OneDrive for Business」にアクセスするには、business_onedrive関数を呼び出す。どちらの関数もR6クライアントのクラスms_driveのオブジェクトを返す。このオブジェクトは、ファイルやフォルダを操作するためのメソッドを備えている。
od <- personal_onedrive() odb <- business_onedrive(tenant="mycompany") # use the device code authentication flow in RStudio Server od <- personal_onedrive(auth_type="device_code") # list files and folders od$list_items() od$list_items("Documents") # upload and download files od$download_file("Documents/myfile.docx") od$upload_file("somedata.xlsx") # create a folder od$create_folder("Documents/newfolder")
open_itemメソッドを使うと、Webブラウザでファイルやフォルダを開くことが可能になる。「Microsoft Word」ドキュメントは「Word Online」で、「Microsoft Excel」スプレッドシートは「Excel Online」で開き、フォルダはOneDriveで表示される。
od$open_item("Documents/myfile.docx")
get_item_propertiesとset_item_propertiesを使うと、ファイルやフォルダのメタデータプロパティを取得し、設定できる。set_item_propertiesの場合、新しいプロパティを名前付き引数としてメソッドに指定する。ただし、変更できないプロパティもある。ファイルサイズや最終更新日など、一部のプロパティは読み取り専用だ。
get_item関数を使うと、ファイルやフォルダを表すオブジェクトを取得できる。このオブジェクトは、ドライブアイテムに適したメソッドを持っている。
od$get_item_properties("Documents/myfile.docx") # rename a file -- version control via filename is bad, mmkay od$set_item_properties("Documents/myfile.docx", name="myfile version 2.docx") # alternatively, you can call the file object's update() method item <- od$get_item("Documents/myfile.docx") item$update(name="myfile version 2.docx")
SharePointのサイトにアクセスするには、sharepoint_site関数を使用し、サイトURLまたはIDを指定する。
Copyright © ITmedia, Inc. All Rights Reserved.