En vista de los anuncios publicados en la Windows Store, queríamos
compartir el trabajo que estamos realizando para ayudar a aquellos que
desarrollan en Windows, Windows Phone y otras plataformas a utilizar SkyDrive en
sus aplicaciones. Hace unos cuantos meses, como parte del prelanzamiento de Windows Live para Windows 8,
anunciamos la disponibilidad de la versión preliminar para desarrolladores, la
próxima versión de las APIs Live Connect y el recién creado Live SDK. Uno de los cambios más
importantes a la API consistió en considerar la retroalimentación que hemos
recibido de los desarrolladores respecto al acceso a SkyDrive. El cambio
principal en SkyDrive fue proporcionar a las aplicaciones la capacidad de
acceder, subir y compartir documentos, fotos y videos desde el almacenamiento en
la nube del usuario en SkyDrive.
Gracias a su integración en Windows Phone y Windows 8, SkyDrive ahora se convierte en una parte
primordial de tu “nube de dispositivos”, pues te permite trabajar y
jugar fácilmente en tu PC y tu teléfono. SkyDrive también funciona con
aplicaciones como Microsoft Office y OneNote, a fin de que puedas organizar,
colaborar y compartir desde cualquier lugar. Consideramos que nuestros clientes
obtienen mayor valor entre más gente y más aplicaciones se puedan conectar a la
nube desde los dispositivos más populares. Esto abarca mucho más que las
aplicaciones y plataformas de dispositivos desarrolladas por Microsoft. Con esta
modificación al API, cualquier aplicación en cualquier plataforma ahora puede
aprovechar la ventaja de que los usuarios con un Windows Live ID, incluidos
todos los usuarios de Windows 8, obtienen almacenamiento gratuito en la nube con
SkyDrive, el cual pueden integrar en su experiencia para acceder a sus
documentos y fotos.
Nos complace anunciar que las nuevas versiones de las APIs Live Connect y del
Live SDK para Windows Phone ya se entregaron. Por favor, continúa leyendo para
conocer lo que hay de nuevo, o visita el centro de desarrollo Live Connect para más
información.
Cambios a las APIs REST para acceder a SkyDrive
El API REST de Live Connect proporciona un modelo jerárquico intuitivo del
contenido que un usuario tiene enlazado a su Windows Live ID. Dicha jerarquía se
muestra abajo:
Aquí se muestra un ejemplo de una solicitud de HTTP para recuperar una lista de todas las carpetas de un usuario en SkyDrive:
GET https://apis.live.net/V5.0/me/skydrive/files?access_token=ACCESS_TOKEN HTTP/1.1
User-Agent: Fiddler
Host: apis.live.net
La solicitud anterior arroja el siguiente resultado JSON para mi cuenta de SkyDrive:
{
"data": [ // 1 item
{
"id": "folder.616444ee7a34f417.616444EE7A34F417!12045",
"from":
{
"name": "Dare Obasanjo",
"id": "616444ee7a34f417"
},
"name": "Wave 4 Feedback",
"description": null,
"parent_id": "folder.616444ee7a34f417",
"upload_location": "https://apis.live.net/v5.0/folder.616444ee7a34f417.616444EE7A34F417!12045/files/",
"count": 14,
"link": "https://skydrive-df.live.com/redir.aspx?cid=616444ee7a34f417&page=view&resid=616444EE7A34F417!12045&parid=616444EE7A34F417!1967",
"type": "album",
"shared_with":
{
"access": "Everyone (public)"
},
"created_time": "2010-07-14T13:28:48+0000",
"updated_time": "2011-07-18T03:40:07+0000"
}
]
}
El proceso de subir archivos es igual de sencillo. Las aplicaciones pueden utilizar solicitudes HTTP PUT o POST para subir documentos, fotos o videos a SkyDrive en la ubicación de la carpeta de archivos cargados. Cabe señalar que no todos los formatos de archivos se soportan para subirlos a SkyDrive. En esta versión, nos hemos enfocado en soportar los tipos de contenido de los cuales nuestros usuarios pueden obtener una vista previa fácilmente en SkyDrive.com.
Abajo se muestra un ejemplo de cómo subir un archivo de texto utilizando HTTP PUT:
PUT https://apis.live.net/v5.0/me/skydrive/files/HelloWorld.txt?access_token=ACCESS_TOKEN
Hello, World!
Y así se ve cuando se utiliza HTTP POST:
POST https://apis.live.net/v5.0/me/skydrive/files?access_token=ACCESS_TOKEN
Content-Type: multipart/form-data; boundary=A300x
--A300x
Content-Disposition: form-data; name="file"; filename="HelloWorld.txt"
Content-Type: application/octet-stream
Hello, World!
--A300x
Estos son sólo unos cuantos ejemplos de lo fácil que resulta interactuar con SkyDrive por medio de un HTTP normal. Otras operaciones como editar, copiar o compartir archivos también son muy sencillas. Para conocer una manera fácil de probar el API REST de Live Connect, visita nuestro SDK interactivo.
Trabajando con SkyDrive a través del Live SDK para Windows Phone
El objetivo del Live SDK consiste en simplificar las tareas comunes que todas las aplicaciones tienen que realizar utilizando el Live SDK. Dichas tareas incluyen crear un botón de registro, solicitar y obtener consentimiento del usuario para acceder a sus datos por medio de OAuth 2.0, y trabajar con el API REST de Live Connect.
Desde que entregamos la versión preliminar para desarrolladores del Live SDK para Windows Phone, hemos visto mucho interés por él en nuestros foros de desarrolladores, lo cual nos ha entusiasmado a todos.
Para ayudar a los desarrolladores a comenzar a utilizar el Live SDK para Windows Phone, creamos una muestra del código, llamada Photo Sky on the Go, que nos enseña a navegar por los álbumes de fotos en SkyDrive y subir fotos desde el hub de Fotos o la cámara. Esta muestra incorpora varios elementos que simplifican esta tarea, tales como el control de registro estándar que se puede colocar en el XAML para tu aplicación de Windows Phone y que maneja el proceso de registro y de consentimiento. El siguiente XAML especifica que se creará un botón de registro que brinda la capacidad de registrar al usuario para obtener acceso a su perfil y a sus fotos, así como para subir contenido a SkyDrive:
Al crear el botón, éste aparece como se muestra en la siguiente imagen:
Al pulsarlo, el botón lleva al usuario a lo largo del flujo de permisos basado en OAuth 2.0, donde se le brinda la opción de aceptar o rechazar la petición de otorgar a la aplicación acceso a su SkyDrive.
Una vez que se realiza esa acción, la aplicación puede descargar y subir contenido a SkyDrive por medio de LiveConnectClient. El extracto de código que aparece abajo muestra el proceso de navegar por los álbumes de fotos en SkyDrive utilizando el Live SDK en el Photo Sky de la aplicación Go.
private void GetAlbumData()
{
LiveConnectClient clientFolder = new LiveConnectClient(App.Session);
clientFolder.GetCompleted += new EventHandler<LiveOperationCompletedEventArgs>(clientFolder_GetCompleted);
clientFolder.GetAsync("/me/albums");
}
void clientFolder_GetCompleted(object sender, LiveOperationCompletedEventArgs e)
{
if (e.Error == null)
{
List<object> data = (List<object>)e.Result["data"];
foreach (IDictionary<string,object> album in data)
{
SkydriveAlbum albumItem = new SkydriveAlbum();
albumItem.Title = (string)album["name"];
albumItem.Description = (string)album["description"];
albumItem.ID = (string)album["id"];
Albums.Add(albumItem);
GetAlbumPicture(albumItem);
DownloadPictures(albumItem);
}
}
}
Aquí se muestra la imagen de la experiencia de usuario que genera el código arriba descrito:
El código para subir fotos desde el teléfono es igual de sencillo:
internal void Upload()
{
PhotoChooserTask task = new PhotoChooserTask();
task.ShowCamera = true;
task.Completed += new EventHandler<PhotoResult>(task_Completed);
task.Show();
}
void task_Completed(object sender, PhotoResult e)
{
if (e.ChosenPhoto == null)
return;
LiveConnectClient uploadClient = new LiveConnectClient(App.Session);
uploadClient.UploadCompleted += new EventHandler<LiveOperationCompletedEventArgs>(uploadClient_UploadCompleted);
uploadClient.UploadAsync(SelectedAlbum.ID, "Image"+DateTime.Now.Millisecond+".jpg", e.ChosenPhoto);
}
void uploadClient_UploadCompleted(object sender, LiveOperationCompletedEventArgs e)
{
if (e.Error == null)
{
Deployment.Current.Dispatcher.BeginInvoke(() => DownloadPictures(SelectedAlbum));
}
}
El código anterior utiliza el PhotoChooserTask para seleccionar una foto del hub de Fotos o de la cámara, la cual luego se sube a SkyDrive por medio de LiveConnectClient.
Eso es todo lo que se necesita hacer.
Para los desarrolladores de Windows, existe también un Live SDK para la versión previa de Windows que Mike Torres ya abordó en su entrada de blog Extending "Windows 8" apps to the cloud with SkyDrive (Llevando las aplicaciones para “Windows 8” a la nube con SkyDrive). Ese SDK se irá actualizando a la par de las actualizaciones futuras de Windows y estará disponible cuando finalmente se lance la próxima versión de Windows.
Muéstranos tus aplicaciones
Nos sentimos muy entusiasmados por el interés que hemos visto en SkyDrive tanto de los usuarios como de los desarrolladores, quienes nos han manifestado lo que desean de nuestra plataforma. Ahora que ya están disponibles las APIs, nos encantaría conocer las maneras innovadoras en que la gente incorporará SkyDrive en sus aplicaciones móviles, sus dispositivos y sus sitios web.
Muchas gracias por toda su retroalimentación; siempre la apreciamos y siempre la escuchamos.
Dare Obasanjo
Director de Programa para la Plataforma Connect Platform
Vía: windowsteamblog
0 comentarios:
Post a Comment
Gracias por tu comentario! :)