Sunday, January 08, 2012

Yahoo oauth and Erlang

I successfully implemented or more aptly integrated yahoo oauth.
Points to note,

  • You must sign in and get 
    • Consumer key embeds what kind of service you are enlisted 
    • Secret 
    • App ID (you don't need it for YQL)
  • For accessing private data -- it is 3 legged process -- 
    • Get request token
    • Use that to bring yahoo sign in page to ask user to give authorization to access services 
    • Once user accepts, callback URL will be called and with query param 
    • Once callback is complete, access actual DATA API using YQL
  • YQL determines what service (like contact or connection etc) you are accessing but consumer key tells whether you have that service enabled. 
  • If you later add or modify service access, you will get new consumer key
  • diagnostics=true is handy to see what is wrong with your request
  • Most of the oauth parameters are sent as query string
  • Mostly more than 3 requests fired to yahoo to get a data
  • window.opener will not work to communicate back to parent window because it is shifting to 2 different domains
  • I used ugly timer to track popup window to closing status. I felt window.close event would have been handy.
I used nice little library for erlang (https://github.com/tim/erlang-oauth) 

No comments:

Post a Comment

Thanks for reading and welcome for commenting...