7

PHP を使用して skyDrive にアクセスしたいと考えています。ファイルとフォルダのリストを取得し、ファイルをダウンロード、アップロード、および削除したい。

Microsoft dev clientID と clientSecret を取得しました。

OAuth を使用して skyDrive に接続し、API を使用することを開始できる人はいますか?

どうもありがとう!

4

1 に答える 1

13

これは実際には非常に幅広い質問です。うまくいけば、ここで何かを始めることができます。

  1. SkyDrives REST APIをご覧ください。
  2. PHP cURLを使用して、GET および POST を実行できます。
  3. json_decode()受信したデータのマップを作成するために使用します。
  4. 送信するデータについては、PHP でマップを作成し、 を使用して JSON に変換しますjson_encode()

API を試す

これは、ライブで試して応答を確認できるインタラクティブな API です。


リクエストの作成

(他のSO回答から取得)

$url = 'POST https://apis.live.net/v5.0/me/skydrive/files';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POSTFIELDS, array('access_token' => TOKEN, 'name' => 'file', 'filename' => "@HelloWorld.txt"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

要求の種類: http://msdn.microsoft.com/en-us/library/live/hh243648.aspx#http_verbs

curl_setopt()また、cURL を使用して、必要なさまざまなタイプのリクエストを行う方法をよりよく理解するために、 を参照することをお勧めします。(また、SO に関するこの回答には、cURL を使用した POST と GET に関する適切な説明があります。)


ファイル オブジェクト

  • ファイルを削除:

    ファイルを削除するには、/FILE_ID に対して DELETE 要求を行います。

  • ファイルをアップロード:

    新しいファイル リソースを作成するには、/FOLDER_ID/files への POST 要求、ターゲット フォルダーの /UPLOAD_LOCATION への POST 要求、または /FOLDER_ID/files/ への PUT 要求を行うことができます。

  • ファイルをダウンロード:

    ファイル リソースのプロパティを取得するには、/FILE_ID (ターゲット ファイル ID) に対して GET 要求を行います。

    • ファイル リソースには、SkyDrive からファイルをダウンロードするための URL がソースフィールドに含まれます。


フォルダ オブジェクト

  • ファイルのリストを取得:

    Live Connect REST API を使用してルート フォルダー リソースを取得するには、/me/skydrive または /USER_ID/skydrive に対して GET 要求を行います。

    サブフォルダー リソースを取得するには、/FOLDER_ID に対して GET 要求を行います。

  • フォルダの作成:

    新しいフォルダー リソースを作成するには、/FOLDER_ID に対して POST 要求を行います。リクエスト本文で name 属性と description 属性を渡します

  • フォルダを削除:

    フォルダーを削除するには、/FOLDER_ID に対して DELETE 要求を行います。


OAuth 2.0

残念ながら、OAuth に関する私の経験は限られています。関連するリンクとアドバイスを提供することしかできません。

プロトコルの概要を確認し、何かを自分で実装するか、ライブラリを使用するかを検討してください。Google で簡単に検索すると、次の情報が得られます。

その他の潜在的に役立つリンクとガイド:

于 2012-06-12T23:09:37.667 に答える