2012-06-12 53 views
7

Tôi muốn truy cập skyDrive bằng PHP. Tôi muốn truy xuất danh sách các tệp và thư mục, tải xuống, tải lên và xóa tệp.Truy cập SkyDrive bằng PHP và OAuth

Tôi có một máy khách clientID và clientSecret.

Ai có thể giúp tôi bắt đầu kết nối với skyDrive với OAuth và sử dụng API không?

Cảm ơn rất nhiều!

Trả lời

13

Đây thực sự là một câu hỏi khá rộng. Đây hy vọng điều gì đó sẽ giúp bạn bắt đầu.

  1. Hãy xem SkyDrives REST API.
  2. Bạn có thể sử dụng PHP cURL để thực hiện GET và POST.
  3. Sử dụng json_decode() để tạo bản đồ dữ liệu đã nhận.
  4. Đối với mọi dữ liệu bạn gửi, hãy tạo maps bằng PHP và chuyển đổi chúng thành JSON bằng cách sử dụng json_encode().

Thử API

Here is an interactive API you can try out live to see the responses.


Lập yêu cầu

Example(lấy từ khác SO trả lời):

012.
$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); 

Yêu cầu loại: http://msdn.microsoft.com/en-us/library/live/hh243648.aspx#http_verbs

tôi cũng khuyên bạn nên có một cái nhìn tại curl_setopt() để hiểu rõ hơn làm thế nào để làm các loại yêu cầu khác nhau bạn sẽ cần sử dụng cURL. (Also this answer on SO has some good explanation on POST vs GET using cURL.)


File object

  • DELETE FILES:

    Để xóa một tập tin, tạo ra một yêu cầu để DELETE/FILE_ID.

  • UPLOAD FILES:

    Để tạo một nguồn tập tin mới, bạn có thể tạo ra một yêu cầu POST đến/FOLDER_ID/tác phẩm, một yêu cầu POST đến/UPLOAD_LOCATION cho thư mục đích, hoặc yêu cầu PUT đến/FOLDER_ID/tệp /.

  • FILES DOWNLOAD:

    Để có được thuộc tính cho một nguồn tài nguyên File, tạo ra một yêu cầu GET đến/FILE_ID (file đích ID).

    • Tài nguyên file sẽ chứa các URL mà từ đó để tải về các tập tin từ SkyDrive trong nguồn lĩnh vực.


Folder object

  • lấy DANH SÁCH CÁC FILES:

    Để có được tài nguyên thư mục gốc bằng cách sử dụng API trực Connect REST, làm yêu cầu GET cho e ither/me/skydrive hoặc/USER_ID/skydrive.

    Để nhận tài nguyên thư mục con, hãy thực hiện yêu cầu GET đến/FOLDER_ID.

  • Tạo thư mục:

    Để tạo một nguồn tài nguyên thư mục mới, tạo ra một yêu cầu POST đến/FOLDER_ID. Vượt qua tên và mô tả các thuộc tính trong cơ thể yêu cầu

  • DELETE FOLDERS:

    Để xóa thư mục, hãy yêu cầu DELETE để/FOLDER_ID.


OAuth 2.0

Kinh nghiệm của tôi với OAuth là không may bị hạn chế. Tôi chỉ có thể cung cấp một số liên kết và lời khuyên có liên quan mà tôi hy vọng sẽ giúp ích.

Review the Protocol Overview và cân nhắc xem bạn có muốn tự mình triển khai điều gì đó hay sử dụng thư viện hay không.tìm kiếm Google nhanh chóng mang lại cho tôi:

Một số liên kết và hướng dẫn có khả năng hữu ích khác:

Các vấn đề liên quan