アプリでSkyDriveのアクセス
SkyDrive APIの2回目です。前回はLive Connectを利用してSkyDriveのフォルダーとファイル情報の取得を紹介しました。今回はフォルダーの作成やファイルのアップロードなどの操作を行ってみましょう。これらの操作は待ち望んでいた人も多いのではないでしょうか。
以前に提供されていたAPIでは参照だけでしたが,
ファイルのアップロード
さっそくAPIを利用してのSkyDriveへのファイルアップロードについてみてみましょう。アップロードは,
アップロードを行うには,
POSTメソッドによるアップロード
まず,
- https://
apis. live. net/ v5. 0/ me/ skydrive/ files?access_ token=ACCESS_ TOKEN
実際にサーバーへ送信するHTTPの通信内容は,
POST https://apis.live.net/v5.0/me/skydrive/files?access_token=ACCESS_TOKEN HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Content-Type: multipart/form-data; boundary=---------------------------7dc3801415811aa
Connection: Keep-Alive
Host: apis.live.net
Content-Length: 202
-----------------------------7dc3801415811aa
Content-Disposition: form-data; name="upfile"; filename="sample.txt"
Content-Type: text/plain
hogehoge
-----------------------------7dc3801415811aa--
サーバーからの応答は,
{
"id": "file.xxxxx",
"source": "http://storage.live.com/xxxxx/sample.txt:Binary"
}
単純なHTTP POSTメソッドによる投稿ですので,
アップロード先のフォルダーの指定は,
- https://
apis. live. net/ v5. 0/FOLDER_ ID /files
ファイルが同名の場合,
- 例:
- https://
apis. live. net/ v5. 0/ me/ skydrive/ files?overwrite=false&access_ token=ACCESS_ TOKEN
アクセストークンはURLに含めるだけでなく,
Authorization: Bearer ACCESS_TOKEN
PUTメソッドによるアップロード
PUTメソッドを使用した場合は,
PUT https://apis.live.net/v5.0/me/skydrive/files/sample.txt?access_token=ACCESS_TOKEN HTTP/1.1
Host: apis.live.net
Content-Length: 8
Connection: Keep-Alive
hogehoge
サーバーからの応答は,
既にSkyDrive上にあるファイルをPUTメソッドで上書きする場合は,
- https://
apis. live. net/ v5. 0/FILE_ ID /content?access_token=ACCESS_ TOKEN
以上がファイルのアップロードの基本でした。ちなみに,