Я хотел бы получить доступ к skyDrive с помощью PHP. Я хочу получить список файлов и папок, загрузить, загрузить и удалить файлы.
У меня есть клиентский клиент microsoft dev и clientSecret.
Можно ли мне начать с подключения к skyDrive с OAuth и использования API?
Большое спасибо!
На самом деле это довольно широкий вопрос. Вот, надеюсь, что-то, что поможет вам начать.
json_decode()
для создания карты полученных данных. json_encode()
. Вот интерактивный 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 имеет хорошее объяснение по POST vs. GET, используя cURL.)
УДАЛИТЬ ФАЙЛЫ:
Чтобы удалить файл, сделайте запрос DELETE / FILE_ID.
ЗАГРУЗИТЬ ФАЙЛЫ:
Чтобы создать новый файловый ресурс, вы можете либо отправить запрос POST в / FOLDER_ID / файлы, либо запрос POST в / UPLOAD_LOCATION для целевой папки, либо запрос PUT в / FOLDER_ID / files /.
ЗАГРУЗИТЬ ФАЙЛЫ:
Чтобы получить свойства для файлового ресурса, сделайте запрос GET в / FILE_ID (идентификатор целевого файла).
RETRIEVE СПИСОК ФАЙЛОВ:
Чтобы получить ресурс корневой папки с помощью API-интерфейса Live Connect REST, сделайте запрос GET на / me / skydrive или / USER_ID / skydrive.
Чтобы получить ресурс подпапки, введите запрос GET в / FOLDER_ID.
СОЗДАТЬ ПАПКИ:
Чтобы создать новый ресурс папки, введите POST-запрос в / FOLDER_ID. Передайте атрибуты имени и описания в теле запроса
УДАЛИТЬ ПАПКИ:
Чтобы удалить папку, сделайте запрос DELETE / FOLDER_ID.
Мой опыт работы с OAuth, к сожалению, ограничен. Я могу только предоставить некоторые релевантные ссылки и советы, которые, я надеюсь, помогут.
Просмотрите обзор протокола и подумайте, хотите ли вы что-то реализовать самостоятельно или использовать библиотеку. Быстрый поиск в Google дает мне:
Некоторые другие потенциально полезные ссылки и руководства: