Portable Contacts

This is a slightly modified fork of the original project primarily using changes from: github.com/kickstarter/portablecontacts. To install this gem use:

gem install muck-portablecontacts

This is a ruby client implementation of Portable Contacts a standard for exchanging profile and address book data.

The current draft of the standard is portablecontacts.net/draft-spec.html

Portable Contacts is currently supported by Plaxo, Google, Yahoo, and most OpenSocial containers.

This client uses OAuth and JSON exclusively. There are no plans for supporting basic authentication or xml.

To use it you need an OAuth AccessToken (see oauth.rubyforge.org/). If you are using Rails, you may find the easiest way of doing this as using the OAuth Plugin stakeventures.com/articles/2009/07/21/consuming-oauth-intelligently-in-rails

The Gem requires:

  • ActiveSupport

  • OAuth Gem

  • JSON gem

Example Code

@access_token = ... # instantiate access token

@client = PortableContacts::Client.new "http://www-opensocial.googleusercontent.com/api/people", @access_token

# Get users profile

@profile = @client.me

puts @profile.display_name
=> "Bob Sample"

# Get users contacts
@contacts = @client.all

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but

    bump version in a commit by itself I can ignore when I pull)
    
  • Send me a pull request. Bonus points for topic branches.

Copyright © 2009 Pelle Braendgaard. See LICENSE for details.