#!/usr/bin/env ruby require 'rubygems' require 'oauth/consumer' require 'yaml' puts "Please enter your client key, then hit Return." consumer_key = gets.chomp puts "Please enter your client secret, then hit Return." consumer_secret = gets.chomp begin consumer = OAuth::Consumer.new consumer_key, consumer_secret, { :site => "https://www.yammer.com" } request_token = consumer.get_request_token puts "Please go to:\n#{request_token.authorize_url}\nin your browser to authorize your application." puts "You should receive a four-character security code.\nEnter it and hit Return here when you are done." oauth_verifier = gets.chomp response = consumer.token_request(consumer.http_method, (consumer.access_token_url? ? consumer.access_token_url : consumer.access_token_path), request_token, {}, :oauth_verifier => oauth_verifier) access_token = OAuth::AccessToken.new(consumer,response[:oauth_token],response[:oauth_token_secret]) credentials = { :consumer_key => consumer.key, :consumer_secret => consumer.secret, :access_token => access_token.token, :access_token_secret => access_token.secret } begin File.open('laika.yml', 'w') { |file| YAML.dump(credentials, file) } File.chmod(0600, 'laika.yml') puts "Your credentials have been saved." rescue puts "Couldn't save your credentials." end rescue puts "Couldn't authorize with Yammer. Did you enter your client credentials correctly?" end