('The minimalist yet fully featured Chatter API class, heavily inspired by Python Twitter Tools.',)
Project description
The minimalist yet fully featured Chatter API class, heavily inspired by Python Twitter Tools (https://github.com/sixohsix/twitter/).
Installation
Simply:
$ easy_install chatter
Even better:
$ pip install chatter
Chatter API overview
See this quickstart tutorial: http://www.salesforce.com/us/developer/docs/chatterapi/Content/quickstart.htm from Salesforce.
Usage
Instantiation:
client_id = “YOUR_CHATTER_CLIENT_ID” client_secret = “YOUR_CHATTER_CLIENT_SECRET” auth = chatter.ChatterAuth(client_id, client_secret)
instance_url = “YOUR_USER_INSTANCE_URL” access_token = “YOUR_USER_ACCESS_TOKEN” refresh_token = “YOUR_USER_REFRESH_TOKEN”
- chatter = chatter.Chatter(auth=auth, instance_url=instance_url,
access_token=access_token, refresh_token=refresh_token)
Get authenticated user’s details:
me = chatter.users.me.get()
Note ‘GET’ is implied, so you can reduce the above to:
me = chatter.users.me()
Get another user’s details
other_user = chatter.users[“005E0000000FpoxIAC”].get()
Again, this can be reduced:
other_user = chatter.users[“005E0000000FpoxIAC”]()
Another way to achieve this, using the ‘_’ magic method:
other_user = chatter.users._(“005E0000000FpoxIAC”).get()
Updating the authenticated user’s Chatter status:
chatter.feeds.news.me.feed_items.post(text=”Hello world!”)
Occassionally it is necessary to refresh the user’s access token, due to session expiration. The underlying ChatterCall class will handle this automatically, however you may wish to be notified of access token changes so you can reflect this in your user model.
It’s possible to do this via the access_token_refreshed_callback, pass in a callable, and your callback will get called with the refreshed access token.
e.g.
- def my_callback(access_token):
print “New access_token”, access_token
- chatter = chatter.Chatter(auth=auth, instance_url=instance_url,
access_token=access_token, refresh_token=refresh_token, access_token_refreshed_callback=my_callback)
The rest is hopefully self-explanatory! :)
Feedback
Send feedback / questions etc. to:
Email: steve.winton[at]nixonmcinnes.co.uk.
Twitter: @steveWINton (http://twitter.com/steveWINton).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.