Class: Contacts::Gmail
Constant Summary collapse
- CONTACTS_SCOPE =
'http://www.google.com/m8/feeds/'
- CONTACTS_FEED =
CONTACTS_SCOPE + 'contacts/default/full/?max-results=1000'
Instance Method Summary collapse
Methods inherited from Base
#connect, #connected?, #initialize, #login, #password
Constructor Details
This class inherits a constructor from Contacts::Base
Instance Method Details
#contacts ⇒ Object
9 10 11 |
# File 'lib/contacts/gmail.rb', line 9 def contacts return @contacts if @contacts end |
#real_connect ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/contacts/gmail.rb', line 13 def real_connect @client = GData::Client::Contacts.new @client.clientlogin(@login, @password, @captcha_token, @captcha_response) feed = @client.get(CONTACTS_FEED).to_xml @contacts = feed.elements.to_a('entry').collect do |entry| title, email = entry.elements['title'].text, nil entry.elements.each('gd:email') do |e| email = e.attribute('address').value if e.attribute('primary') end [title, email] unless email.nil? end @contacts.compact! rescue GData::Client::AuthorizationError => e raise AuthenticationError, "Username or password are incorrect" end |