Pregunta

Actualmente estoy trabajando en un proyecto de portal para obtener datos de calendario de varios sitios web (google, yahoo, live/hotmail).El problema es que nuestra aplicación requiere un servicio que obtenga datos del calendario de esos sitios web.Mi equipo ya eliminó el calendario de Google y Yahoo, pero ahora tenemos problemas con el calendario en vivo.

Hasta ahora esto es lo que ya intentamos y fallamos:

  1. Obtener datos mediante una solicitud HTTP parece imposible porque el http://login.live.com Totalmente seguro mediante javascript.Pasamos 3 días para comprender el JS para iniciar sesión, pero Microsoft parece mucho mejor que nosotros :)
  2. Busqué en la red acerca de la API LIVE CONNECT, pero ahora hay una forma de iniciar sesión dinámicamente (proporcionando nombre de usuario/contraseña) en MS Live.No podemos usar el botón de inicio de sesión en vivo porque nuestro proceso realizó una capa de servicio.(¿o tal vez me pierdo algo?)

¿Existe alguna posibilidad de que pueda completar esta tarea?

Cualquier ayuda, pista o truco lo agradeceré mucho, gracias.

NOTA:Nuestros clientes de aplicaciones están en una red pequeña y están de acuerdo si administramos su cuenta LIVE/YAHOO/GOOGLE.

¿Fue útil?

Solución

La respuesta es no!, no puede obtener calendario / eventos de MS Live al proporcionar correo electrónico / contraseña porque MSIVE en vivo usando OAuth.

La mejor manera de hacerlo es, desde su aplicación cliente, muestre el inicio de sesión en vivo de OAUTH, obtenga la autenticación Tokken desde allí. Luego pase el token de autenticación al lado del servidor. Para obtener el calendario o eventos que necesita.

Aquí está el paso:

Obtenga su aplicación ID de cliente

Ir a: https://manage.dev.live.com/applications/index

Crear formulario de inicio de sesión

En la aplicación de su lado del cliente, crea un formulario de inicio de sesión, mostrando un control del navegador, la URL es:

https://oauth.live.com/authorize?response_type=token&client_id=YOUR_APP_CLIENTID&scope=SCOPE&locale=en&redirect_uri=https://oauth.live.com/desktop&auth_redirect=true&wa=wsignin1.0

Luego, después de que el usuario permite la autenticación, el navegador se redirigirá a:

https://oauth.live.com/desktop#access_token=ACCESS_TOKEN
   &token_type=TOKEN_TYPE&expire=EXPIRE

Allí puedes extraer el acceso desde allí.

Agarre el calendario / evento

Así que ahora su aplicación de cliente ya tiene acceso, luego pasa esto a su servicio para obtener el calendario (recuerde que hay un tiempo fuera para el acceso). Su servicio debe hacer la llamada de descanso a:

https://apis.live.net/v5.0/me/calendars?access_token=ACCESS_TOKEN

o

https://apis.live.net/v5.0/me/events?start_time=2012-10-01T00:00:00Z
     &end_time=2012-10-03T00:00:00Z&access_token=ACCESS_TOKEN

Para obtener más información, consulte: http://msdn.microsoft. COM / EN-EEUU / Library / LIVE / HH826523.ASPX

buena suerte

Otros consejos

Desde el sitio de Microsoft....

Sus aplicaciones pueden usar las API Live Connect para crear, leer, actualizar y eliminar los calendarios de un usuario de Hotmail.Sus aplicaciones también pueden suscribirse a calendarios públicos, como una lista de vacaciones.

Así que creo que este es el lugar para que vayas a verlo.Calendarios (API Live Connect);Y sí, también hay muestras en C#.

Explicación del concepto...Básicamente necesitas usar public class LiveConnectClient que está disponible en Windows 8 para hacer esto.

using Microsoft.Live;  
using Microsoft.Live.Controls;

Son los espacios de nombres que contienen la lógica central para el cliente Live Connect y las operaciones relacionadas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top