2012-06-12 20 views
7

Chciałbym uzyskać dostęp do usługi skyDrive przy użyciu PHP. Chcę odzyskać listę plików i folderów, pobrać, przesłać i usunąć pliki.Dostęp do usługi SkyDrive przy użyciu PHP i OAuth

Mam microsoft dev clientID i clientSecret.

Czy ktoś może zacząć mnie od połączenia z skyDrive z OAuth i korzystaniem z API?

Wielkie dzięki!

Odpowiedz

13

To właściwie dość szerokie pytanie. Mam nadzieję, że coś, co pozwoli Ci zacząć.

  1. Spójrz na SkyDrives REST API.
  2. Możesz użyć PHP cURL, aby wykonać GET i POST.
  3. Użyj json_decode(), aby utworzyć mapę odebranych danych.
  4. Dla wszystkich wysyłanych danych utwórz w PHP maps i przekonwertuj je na JSON, używając json_encode().

Spróbuj API

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


Making żąda

Example(wzięte z innego SO odpowiedzi):

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

rodzaje Żądanie: http://msdn.microsoft.com/en-us/library/live/hh243648.aspx#http_verbs

Polecam również rzucić okiem na curl_setopt() aby lepiej zrozumieć, jak zrobić różne rodzaje wniosków będziesz potrzebował, używając cURL. (Also this answer on SO has some good explanation on POST vs GET using cURL.)


File object

  • usunąć pliki:

    Aby usunąć plik, zrób DELETE wniosek do/file_id.

  • przesyłać pliki:

    Aby utworzyć nowy zasób plików, można złożyć wniosek POST/FOLDER_ID/pliki, żądanie POST do/UPLOAD_LOCATION do folderu docelowego, lub żądanie PUT do/FOLDER_ID/files /.

  • pobierania plików:

    aby uzyskać właściwości zasobu pliku, wykonać żądanie GET do/file_id (docelowy plik ID).

    • Zasób Plik będzie zawierać adres URL, z którego można pobrać plik z SkyDrive w dziedzinie źródłowego.


Folder object

  • pobrać listy plików:

    Aby dostać się do zasobu głównego folderu za pomocą API żywo Połącz odpocząć, zrobić żądanie GET do e ither/me/skydrive lub/USER_ID/skydrive.

    Aby uzyskać zasób podfolderu, wyślij żądanie GET do/FOLDER_ID.

  • tworzyć foldery:

    Aby utworzyć nowy zasób folderze dokonać żądania POST do/FOLDER_ID. Podać nazwę i opis atrybutów w organizmie żądanie

  • usuwać foldery:

    Aby usunąć folder, złożyć wniosek o DELETE/FOLDER_ID.


OAuth 2.0

Moje doświadczenia z OAuth jest niestety ograniczona. Mogę podać tylko kilka istotnych linków i porad, które, mam nadzieję, pomogą.

Review the Protocol Overview i rozważ, czy chcesz coś zaimplementować samodzielnie, czy też skorzystać z biblioteki.Szukaj w Google daje mi:

niektórych innych potencjalnie użytecznych linków i przewodników:

sekcja
Powiązane problemy