Obtener datos de MS Live Calendar
-
12-12-2019 - |
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:
- 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 :)
- 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.
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
- your_app_clientid: la ID de cliente que obtiene de la inscripción en el primer paso.
- alcance: debe ser
wl.calendars+wl.basic
Ver más en la documentación < / li>
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.