Microsoft365Rが公開、「365」をR言語から操作できる:「OneDrive」と「SharePoint」から対応開始
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にアクセスする方法
個人用の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のサイトにアクセスするには、sharepoint_site関数を使用し、サイトURLまたはIDを指定する。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 時系列予測のベストプラクティスを共有するGitHubリポジトリを開設、Microsoft
Microsoftは、時系列予測のベストプラクティスを共有するためのGitHubリポジトリを開設した。PythonやRを使っている開発者に向けたものだ。 - R(プログラミング言語)
Rは主に統計解析やその可視化を行うためのオープンソースのソフトウェア環境。さらに機械学習を行うためのツールとしても広く使われている。 - プログラミング言語の人気ランキング「TIOBEインデックス」で「C」が首位、「C++」が最大の上昇
TIOBE Softwareが発表したプログラミング言語の人気ランキング「TIOBEインデックス」の2020年9月版では、「C」「Java」「Python」「C++」「C#」が1〜5位を占めた。