Navigation Menu

Skip to content

Commit

Permalink
Added examples, updated README
Browse files Browse the repository at this point in the history
  • Loading branch information
Wynn Netherland committed Nov 26, 2009
1 parent b372d3f commit 999406a
Show file tree
Hide file tree
Showing 6 changed files with 112 additions and 3 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -19,3 +19,4 @@ rdoc
pkg

## PROJECT::SPECIFIC
examples/wynn.rb
58 changes: 55 additions & 3 deletions README.markdown
@@ -1,9 +1,61 @@
# linkedin
# LinkedIn

Ruby wrapper for the [LinkedIn API](http://developer.linkedin.com). Heavily inspired by [John Nunemaker's](http://github.com/jnunemaker) [Twitter gem](http://github.com/jnunemaker/twitter), the LinkedIn gem provides an easy-to-use wrapper for LinkedIn's Oauth/XML APIs.

## Installation

sudo gem install gemcutter
gem tumble
sudo gem install linkedin

## Usage

### Authenticate

LinkedIn's API uses Oauth for authentication. Luckily, the LinkedIn gem hides most of the gory details from you.

require 'rubygems'
require 'linkedin'

# get your api keys at https://www.linkedin.com/secure/developer
client = LinkedIn::Client.new('your_consumer_key', 'your_consumer_secret')
rtoken = client.request_token.token
rsecret = client.request_token.secret

# to test from your desktop, open the following url in your browser
# and record the pin it gives you
client.request_token.authorize_url
=> "https://api.linkedin.com/uas/oauth/authorize?oauth_token=<generated_token>"

# then fetch your access keys
client.authorize_from_request(rtoken, rsecret, pin)
=> ["OU812", "8675309"] # <= save these for future requests

# or authorize from previously fetched access keys
c.authorize_from_access("OU812", "8675309")

# you're now free to move about the cabin, call any API method

### Profile examples

# get the profile for the authenticated user
client.profile

# get a profile for someone found in network via ID
client.profile(:id => 'gNma67_AdI')

# get a profile for someone via their public profile url
client.profile(:url => 'http://www.linkedin.com/in/netherland')



More examples in the [examples folder](http://github.com/pengwynn/linkedin/blob/master/examples).


Ruby wrapper for the [LinkedIn API](http://developer.linkedin.com)

## TODO
* Implement Search, Status, Invitation APIs

* Implement Messaging APIs

## Note on Patches/Pull Requests

Expand Down
21 changes: 21 additions & 0 deletions examples/authenticate.rb
@@ -0,0 +1,21 @@
require 'rubygems'
require 'linkedin'

# get your api keys at https://www.linkedin.com/secure/developer
client = LinkedIn::Client.new('your_consumer_key', 'your_consumer_secret')
rtoken = client.request_token.token
rsecret = client.request_token.secret

# to test from your desktop, open the following url in your browser
# and record the pin it gives you
client.request_token.authorize_url
=> "https://api.linkedin.com/uas/oauth/authorize?oauth_token=<generated_token>"

# then fetch your access keys
client.authorize_from_request(rtoken, rsecret, pin)
=> ["OU812", "8675309"] # <= save these for future requests

# or authorize from previously fetched access keys
c.authorize_from_access("OU812", "8675309")

# you're now free to move about the cabin, call any API method
12 changes: 12 additions & 0 deletions examples/network.rb
@@ -0,0 +1,12 @@
# AUTHENTICATE FIRST found in examples/authenticate.rb

# client is a LinkedIn::Client

# get network updates for the authenticated user
client.network_updates

# get profile picture changes
client.network_updates(:type => 'PICT')

# view connections for the currently authenticated user
client.connections
14 changes: 14 additions & 0 deletions examples/profile.rb
@@ -0,0 +1,14 @@
# AUTHENTICATE FIRST found in examples/authenticate.rb

# client is a LinkedIn::Client

# get the profile for the authenticated user
client.profile

# get a profile for someone found in network via ID
client.profile(:id => 'gNma67_AdI')

# get a profile for someone via their public profile url
client.profile(:url => 'http://www.linkedin.com/in/netherland')


9 changes: 9 additions & 0 deletions examples/status.rb
@@ -0,0 +1,9 @@
# AUTHENTICATE FIRST found in examples/authenticate.rb

# client is a LinkedIn::Client

# update status for the authenticated user
client.update_status('is playing with the LinkedIn Ruby gem')

# clear status for the currently logged in user
client.clear_status

0 comments on commit 999406a

Please sign in to comment.