Acceda a SkyDrive usando PHP y OAuth

Me gustaría acceder a skyDrive usando PHP. Quiero recuperar la lista de archivos y carpetas, descargar, cargar y eliminar archivos.

Tengo un ID de cliente y un secreto de cliente de Microsoft Dev.

¿Alguien puede ayudarme a conectarme a skyDrive con OAuth y hacer uso de la API?

¡Muchas gracias!

preguntado el 12 de junio de 12 a las 21:06

1 Respuestas

Esta es en realidad una pregunta bastante amplia. Con suerte, aquí hay algo que lo ayudará a comenzar.

  1. Echa un vistazo a API REST de SkyDrive.
  2. Podrías usar Curl de PHP para realizar los GET y POST.
  3. Utiliza json_decode() para crear un mapa de los datos recibidos.
  4. Para cualquier dato que envíe, cree mapas en PHP y convertirlos a JSON usando json_encode().

Prueba la API

Aquí hay una API interactiva que puede probar en vivo para ver las respuestas.


Haciendo peticiones

Ejemplo (tomado de otra respuesta 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);

Tipos de solicitud: http://msdn.microsoft.com/en-us/library/live/hh243648.aspx#http_verbs

También te recomiendo que eches un vistazo curl_setopt() para comprender mejor cómo hacer los diferentes tipos de solicitudes que necesitará, use cURL. (Además, esta respuesta en SO tiene una buena explicación sobre POST vs GET usando cURL).


Objeto de archivo

  • BORRAR ARCHIVOS:

    Para eliminar un archivo, realice una solicitud DELETE a /FILE_ID.

  • SUBIR ARCHIVOS:

    Para crear un nuevo recurso de archivo, puede realizar una solicitud POST a /FOLDER_ID/files, una solicitud POST a /UPLOAD_LOCATION para la carpeta de destino o una solicitud PUT a /FOLDER_ID/files/.

  • DESCARGAR ARCHIVOS:

    Para obtener las propiedades de un recurso de archivo, realice una solicitud GET a /FILE_ID (el ID del archivo de destino).

    • El recurso Archivo contendrá la URL desde la cual descargar el archivo de SkyDrive en el fuente campo.


Objeto de carpeta

  • RECUPERAR LISTA DE ARCHIVOS:

    Para obtener el recurso de la carpeta raíz mediante la API REST de Live Connect, realice una solicitud GET a /me/skydrive o /USER_ID/skydrive.

    Para obtener un recurso de subcarpeta, realice una solicitud GET a /FOLDER_ID.

  • CREAR CARPETAS:

    Para crear un nuevo recurso de carpeta, realice una solicitud POST a /FOLDER_ID. Pase los atributos de nombre y descripción en el cuerpo de la solicitud

  • ELIMINAR CARPETAS:

    Para eliminar una carpeta, realice una solicitud DELETE a /FOLDER_ID.


OAuth 2.0

Desafortunadamente, mi experiencia con OAuth es limitada. Solo puedo proporcionar algunos enlaces relevantes y consejos que espero ayuden.

Revise la descripción general del protocolo y considere si desea implementar algo usted mismo o usar una biblioteca. La búsqueda rápida en Google me da:

Algunos otros enlaces y guías potencialmente útiles:

contestado el 23 de mayo de 17 a las 11:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.