Skip to content

andrewferk/yammer4r

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

= Yammer4R

== Developers
* {Jim Patterson} <jpatterson at yammer-inc dot com>
* {Jason Stewart}
* {Peter Moran}

*Addendum
* {Tom Meier} <tom at venombytes dot com>

== Description
Yammer4R provides an object based API to query or update your Yammer account via pure Ruby.  It hides the ugly HTTP/REST code from your code.

== External Dependencies
* Ruby 1.8 (tested with 1.8.7)
* JSON gem (tested with versions: 1.4.6)
* OAuth gem (tested with versions: 0.4.4)
* RSpec gem (tested with versions: 1.1.11 - 2.4.0)

* Tested and working on Rails 3.0.3

== Usage Examples

grab the saved config file (see oauth.yml.template)

    config_path = File.join(repo_location, 'config', 'yammer_oauth.yml')

instantiate the yammer client

    yammer = Yammer::Client.new(:config => config_path)

=== Posting a message to a specific group

A quick way to find out a group id (without updating this gem to do group queries - see API doc) is to go to the Yammer page for the group and see the 'feedId' parameter in the url.

    yammer.message(:post, {:group_id => 'YourGroupId', :body => 'Some Text'})

=== Using a custom resource under 'messages'

    yammer.messages(:all, {:resource => 'messages/sent'})     #All sent messages
    yammer.messages(:all, {:resource => 'messages/received'}) #All received messages

    yammer.messages(:all, {:resource => 'messages/from_user/CHANGE_ID'}) #All messages by a certain user
    yammer.messages(:all, {:resource => 'messages/in_group/CHANGE_ID'}) #All messages in a certain group

See API doc for more possibilities, just set 'resource' accordingly to match the end point given in the api.

=== Deleting a message

    yammer.messages(:delete, {:resource => 'messages/MESSAGE_ID'})

=== Assigning a proxy address

==== standard proxy

    yammer = Yammer::Client.new(:config => config_path, :proxy => 'http://proxy.somehost.com:3128/')

==== user/pass proxy

    yammer = Yammer::Client.new(:config => config_path, :proxy => 'http://user_name:some_password@proxy.somehost.com:3128/')



== TODO

* Write specs for everything!
* Expose all the API endpoints, seriously, this is all I need now, but nothing else is exposed. See : https://www.yammer.com/api_doc.html
* Improve client.rb messages, should be modular.
* Improve how resource is set, ie: it shouldn't need /messages/ sent to a messages method. But not sure how much this API is changed. Left for now.

About

Yammer Ruby API Interface

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published