currently I working on a portal project for getting calendar data from several websites (google, yahoo, live/hotmail).
the problem is our application require a service that getting calendar data from those websites. my team already get rid the google and yahoo calendar, but now we having problem with live calendar.
so far here is what we already tried and failed:
- Grabbing data using HTTP Request seems impossible because the http://login.live.com totally secured using javascript. we spent 3 days to understand the JS to login but seems microsoft far better than us 🙂
- Searched through the net about LIVE CONNECT API, but now way to dynamically login (by providing username/password) to MS Live. We can’t use the Live Login Button because our process done one service layer. (or perhap i miss something?)
is there any chance for me to complete this task?
any help, clue, trick will highly appreciate, thanks
NOTE: our application clients is in a small network and they agree if we managed their LIVE/YAHOO/GOOGLE account.
The answer is NO!, you can’t get calendar/events from MS LIVE by providing Email/Password because MS LIVE using OAUTH.
the best way you can do is, from your client application you show up the live OAUTH login then get the authentication tokken from there. then pass the authentication token to the server side. to get the calendar or events you require.
here is the step:
Get your application client id
go to: https://manage.dev.live.com/Applications/Index
Create login form
on your client side application you create a login form by showing an browser control the url is:
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.0wl.calendars+wl.basicsee more on documentationthen after user allow the authentication, the browser will redirected to:
there you can extract the ACCESS_TOKEN from there.
Grab The Calendar/Event
so now your client app already have ACCESS_TOKEN then pass this to your service to get the calendar (remember there are a time out for the ACCESS_TOKEN). Your service then should do the REST call to:
or
for more info refer to: http://msdn.microsoft.com/en-us/library/live/hh826523.aspx
Good Luck