August 1, 2011 4:32 pm

Desarrolladores – Aprendan cómo traer datos de Hotmail, Messenger y SkyDrive a sus aplicaciones móviles

Con el reciente lanzamiento de nuestra plataforma para desarrolladores, les hemos facilitado a aquellos que desarrollan en plataformas para móviles como Windows Phone, Android e iOS a integrar de manera más sencilla la capacidad de acceder a la información de usuarios como contactos y fotos de Hotmail, Messenger y SkyDrive en sus aplicaciones favoritas para móviles y dispositivos favoritos.

El proceso para hacer lo anterior lo hemos hecho más eficiente en los siguientes puntos:

· Proceso de configuración de la aplicación más ligero que no requiere código del lado del servidor

· Experiencias optimizadas de inicio de sesión y consentimiento de usuario para móvil

· Proveer muestras de código que ilustren los pasos clave para construir una aplicación para móvil que accedan a los datos del usuario de la nube

Proceso de configuración de la aplicación más ligero

Algo importante que hemos aprendido de nuestros lanzamientos previos es que los desarrolladores de aplicaciones para móviles no siempre tienen servicios web que apoyen sus aplicaciones. Esto significa que cualquier proceso que tengamos que requiera que una aplicación se comunique con nuestras diferentes formas de autorización y end points de servicio web, deberán estar habilitadas para aplicaciones de terceros.

Hoy, nuestro proceso de registro en http://manage.dev.line.com es extremadamente ligero. La única información requerida para crear una aplicación es el nombre e idioma de la aplicación, como se muestra a continuación:

foto 1

Al momento que das clic en Acepto, se te otorga una ID de cliente y un cliente secreto.

Aquellos que estén familiarizados con OAuth 2.0 podrán notar que un paso parece faltar: proveer la URL a la que es redireccionado el cliente después de que han iniciado sesión exitosamente y obtenido acceso a su aplicación para ingresar a sus datos. Este paso ahora es opcional. Las aplicaciones basadas en web aun pueden proveer estos datos en el sitio de administración de nuestra aplicación.

Las aplicaciones para móviles y de escritorio que no cuentan con un sitio al cual el usuario puede ser redireccionado pueden utilizar http.//oauth.live.com/desktop como su URL para redireccionar cuando hagan solicitudes de autorización OAuth 2.0. Esta URL no debe otorgarse como URL para redireccionar en la aplicación para móvil en el sitio de administración de aplicaciones ya que no será aceptada.

Experiencias optimizadas de inicio de sesión y consentimiento de usuario para móvil

Como se ha mencionado anteriormente, hemos construido experiencias de usuario para móvil optimizadas, para aquellos que acceden y ofrecen permisos a su aplicación para acceder a sus datos.

Hemos creado un código de ejemplo que muestra cómo acceder a los álbumes de foto de SkyDrive de un usuario y está disponible para descarga desde la galería de MSDN de códigos de muestra. Este código muestra los pasos esenciales que una aplicación debe seguir para que el usuario ingrese, obtener permiso para acceder a sus datos y luego a su información así como a las experiencias de usuario relacionadas.

El proceso para que el usuario ingrese requiere que la aplicación construya una URL a nuestro OAuth 2.0 de autorización y solicite los campos apropiados que se requieren para acceder a la información que le interesa a la aplicación. El código se ve así:

/// <summary>
/// The URI for the OAuth service's Authorize endpoint.
/// </summary>
private static readonly string OAuthAuthorizeUri = "https://oauth.live.com/authorize";

/// <summary>
/// The list of scopes.
/// </summary>
private string[] scopes = new string[] { "wl.basic", "wl.photos" };

/// <summary>
/// Build the OAuth URI.
/// </summary>
/// <param name="scopes">The requested scopes.</param>
/// <returns>The OAuth URI.</returns>
private Uri BuildOAuthUri(string[] scopes)
{
List<string> paramList = new List<string>();
paramList.Add("client_id=" + HttpUtility.UrlEncode(MainPage.ClientId));
paramList.Add("scope=" + HttpUtility.UrlEncode(String.Join(" ", scopes)));
paramList.Add("response_type=" + HttpUtility.UrlEncode("token"));
paramList.Add("display=" + HttpUtility.UrlEncode("touch"));
paramList.Add("redirect_uri=" + HttpUtility.UrlEncode(MainPage.RedirectUri));

UriBuilder authorizeUri = new UriBuilder(MainPage.OAuthAuthorizeUri);
authorizeUri.Query = String.Join("&", paramList.ToArray());
return authorizeUri.Uri;
}

Cuando la URL que se construyó es vista desde un navegador, el usuario final va a través de la siguiente experiencia. Primero se les solicita que ingresen.

foto 2

Después de ingresar, al usuario se le muestra un diálogo de permiso donde se les solicita su consentimiento para que la aplicación pueda acceder a su información básica y a sus fotos de SkyDrive.

foto 3

Una vez que el usuario completa estos flujos, la aplicación obtiene un token de acceso que puede ser utilizado en combinación con nuestro REST APIs para acceder a los datos del usuario. Cabe recalcar que el paso de aprobación de permiso sólo debe suceder una vez, después de eso, la aplicación tiene acceso a los datos del usuario hasta que el mismo decide revocar el acceso a su información visitando nuestra página de administración de permisos.

En este código muestra en particular, la aplicación simplemente enlista la información de perfil del usuario y sus álbumes de foto de SkyDrive.

foto 4

Más Códigos de Muestra por Venir

Hemos recibido muchos comentarios de desarrolladores que quisieran ver más muestras de código que presenten cómo acceder a datos de Hotmail, Messenger y SkyDrive desde sus lenguajes de programación y plataformas favoritas. Sus comentarios son escuchados, no lo duden, y estamos trabajando en proveer una mayor variedad de muestras de código. Por ahora, los desarrolladores para móvil pueden descargar el ejemplo de SkyDrive API de este artículo para comenzar.