検索
ニュース

Microsoft365Rが公開、「365」をR言語から操作できる「OneDrive」と「SharePoint」から対応開始

Microsoftは、R言語を使って「Microsoft 365」スイートを操作できるオープンソースパッケージ「Microsoft365R」を発表した。認証やOneDriveの操作、SharePointサイトへのアクセスなどに役立つという。

Share
Tweet
LINE
Hatena

 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.

ページトップに戻る