Intereting Posts
php – обнаружение HTML в строке и перенос с помощью тега кода Zend Cache не работает с помощью Action Helper openssl_verify (): указанный ключевой параметр не может быть принудительно введен в открытый ключ для файла .pem загрузить файл с помощью запроса ajax move_uploaded_file не удалось открыть поток: Permission denied – Mac PHP требует, чтобы файл из верхнего каталога Как отформатировать электронную почту, с которой Hotmail / Outlook доволен? php: невозможно загрузить файл на сервер Codeigniter update_batch не работает Синтаксическая ошибка Sql с использованием запроса базы данных UPDATE Исправления Mysql и php для репликации безопасности PDO Как преобразовать PNG в 8-битный PNG с помощью библиотеки PHP GD У вас недостаточно прав для доступа к этой странице. Как установить права на чтение и запись в Apache на компьютере под управлением Windows Значение сеанса только после перезагрузки страницы

Доступ к SkyDrive с использованием PHP и OAuth

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

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

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

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

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

  1. Посмотрите API SkyDrives REST .
  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 имеет хорошее объяснение по POST vs. GET, используя cURL.)


Файловый объект

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

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

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

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

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

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

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

Объект папки

  • RETRIEVE СПИСОК ФАЙЛОВ:

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

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

  • СОЗДАТЬ ПАПКИ:

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

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

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


OAuth 2.0

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

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

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