2012-06-12 2 views
7

Я хотел бы получить доступ к skyDrive с помощью PHP. Я хочу восстановить список файлов и папок, загрузить, загрузить и удалить файлы.Доступ к SkyDrive с использованием PHP и OAuth

У меня есть клиентский клиент microsoft dev и clientSecret.

Можно ли мне начать с подключения к skyDrive с помощью OAuth и использования API?

Большое спасибо!

ответ

13

Это на самом деле довольно широкий вопрос. Вот, надеюсь, что-то, что поможет вам начать.

  1. Посмотрите на SkyDrives REST API.
  2. Вы можете использовать PHP cURL для выполнения GET и POST.
  3. Используйте json_decode() для создания карты полученных данных.
  4. Для любых данных, которые вы отправляете, создайте maps в PHP и преобразуйте их в JSON с помощью json_encode().

Попробуйте API

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


Создание запросов

Example(взяты из других 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(), чтобы лучше понять, как сделать различные типы запросов, вы будете нуждаться, используя скручивание. (Also this answer on SO has some good explanation on POST vs GET using cURL.)


File object

  • УДАЛИТЬ ФАЙЛЫ:

    Чтобы удалить файл, сделайте запрос DELETE к/file_id.

  • ЗАГРУЗИТЬ ФАЙЛЫ:

    Чтобы создать новый ресурс файла, вы можете сделать запрос POST к/FOLDER_ID/файлов, запрос POST к/UPLOAD_LOCATION для целевой папки, или PUT-запрос/FOLDER_ID/files /.

  • СКАЧАТЬ ФАЙЛЫ:

    Чтобы получить свойства ресурса файла, сделать запрос GET к/file_id (файл целевой ID).

    • Ресурс Файл будет содержать URL, с которого загружается файл из SkyDrive в источника поле.


Folder object

  • ПОЛУЧИТЬ СПИСОК ФАЙЛОВ:

    Чтобы получить ресурс корневой папки с помощью API Живой Connect REST, сделать запрос GET на e ither/me/skydrive или/USER_ID/skydrive.

    Чтобы получить ресурс подпапки, выполните запрос GET в/FOLDER_ID.

  • СоздатьПапки:

    Чтобы создать новый ресурс папки, сделать запрос POST к/FOLDER_ID. Передайте имя и описание атрибутов в теле запроса

  • УДАЛИТЬ ПАПКИ:

    Чтобы удалить папку, сделайте запрос DELETE к/FOLDER_ID.


OAuth 2.0

Мой опыт работы с OAuth, к сожалению, ограничено. Я могу только предоставить некоторые релевантные ссылки и советы, которые, я надеюсь, помогут.

Review the Protocol Overview и подумайте, хотите ли вы что-то реализовать самостоятельно или использовать библиотеку.Быстрый поиск Google дает мне:

Некоторые другие потенциально полезные ссылки и руководства:

Смежные вопросы