エクスプローラーとの統合は待ちに待った人も多いのではないでしょうか。APIの更新などもあれば,この連載でも紹介したいと思います。Connectを利用したSkyDriveのアクセスです。前回までにある程度までのフォルダーやファイルの基本的な操作について紹介しています。今回は,APIによるファイルの共有と,ファイルのコメントやタグの取得について紹介します。ファイルの共有SkyDriveサービス自体の大きな特徴のひとつは,共有機能です。ややこしい部分でもあるのですが,共有する相手は,サービスでは次の3種類に分類されて表示されています。「リンクを受け取った人」は,もう少し詳しくみると次の2種類に分類できます。前者はアクセスに認証が不要なため,Webサイトなどで公開すると不特定多数の人がアクセスできる状態になっていますので,少し注意が必要です。全員がアクセスできる状態との違いは,ファイルの所有者のSkyDriveのページにアクセスしたときに表示されるか,されないかです。共有は,図1のようにページの右側の共有から設定を行います。ファイルやフォルダーの右クリックメニューからも共有できます。指定したユーザーに共有リンクを知らせるには,図2のように電子メールで相手に送信します。,「リンクの取得」からURLをコピーして相手に知らせます。共有リンクは,ファイルの表示だけでなく編集もできるリンクも取得できます。リンクの取得(図3)では,次のように分類されています。リンクの取得これらの共有設定はファイル単位で行えます。フォルダーに対しても共有情報が設定されています(※1)。非公開のフォルダー内の特定のファイルだけ公開するといった操作もできます。上記の内容以外に,TwitterやFacebookなどへの投稿による共有や,WebサイトにHTMLコードを埋め込んで共有する方法もあります。APIでファイルやフォルダーの共有設定を知る方法は,前回までの内容にでてきています。ファイルやフォルダーの情報を取得したときのFileやFolderオブジェクトのshared_withの内容でわかります。shared_withオブジェクト内のaccessプロパティが最初の3種類を示しています。※1以前は,フォルダー単位の共有設定のみ可能でした。共有リンクの生成さて,APIでの共有の操作ですが,Webサイト上で可能な変更や削除などの操作はできません。フォルダーやファイルに対して,リンクを知っている人だけがアクセスできる共有リンクの生成のみできます。共有リンクはアプリ用に生成され,Webで生成したリンクのURLとは異なります。アプリによって共有されたファイルは図4のようにWebサイトで確認できます。アプリによる共有OAuthによりユーザーから認可を受けたアプリ自身は自由にファイルにアクセスできるため,共有リンクの生成は,アプリのユーザーがアプリのユーザーでない人と共有したい場合などの用途に限られてくると思います。実際に共有リンクを生成する方法は簡単です。GETメソッドでアクセスします。表示のみできる共有リンクhttps://apis.live.net/v5.0/FILE_ID/shared_read_link?access_token=ACCESS_TOKEN編集と表示ができる共有リンクhttps://apis.live.net/v5.0/FILE_ID/shared_edit_link?access_token=ACCESS_TOKENFILE_ID部分はFileオブジェクトのidの値を指定します。フォルダーの共有の場合はFolderオブジェクトのidを指定します。GETメソッドのため,共有リンクの生成というよりは取得なのですが,このURLにアクセスすることで共有リンクのURLが新たに生成されファイルの状態も変更されますので,ここでは生成と呼んでいます。サーバーからの応答は次のようなJSONデータになります。"https://skydrive.live.com/redir.aspx?xxxxx"}共有リンクを作成した場合,共有状態を元に戻すことはできませんので注意してください。Webページに埋め込み用のHTMLコードの取得(生成)もできます。https://apis.live.net/v5.0/FILE_ID/embed?access_token=ACCESS_TOKEN埋め込み用のHTMLコードを取得可能かどうかは,Fileオブジェクトのis_embeddableからわかります。有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。