#!/opt/ruby_ee/bin
require 'rubygems'
require 'twitter'
require 'net/http'
require 'uri'
require 'httparty'
module FbTweet
def FbTweet.tweet(url)
bitly_url = Bitly.shorten(url)
httpauth = Twitter::HTTPAuth.new('username', 'password')
base = Twitter::Base.new(httpauth)
base.update("Testing to port this into rails plugin #{bitly_url}")
base.friends_timeline.each { |tweet| puts tweet.text }
end
class Bitly
include HTTParty
base_uri 'api.bit.ly'
basic_auth 'millisami', 'R_sadfdsfwefsdf2323fafasd'
format :json
def self.shorten(url)
response = get('/shorten', :query => required_params.merge(:longUrl => url))
response['results'][url]['shortUrl']
end
def self.required_params
{:version => "2.0.1"}
end
end
end
puts "Calling twitter to test.."
puts FbTweet.tweet("http://google.com")
问问题
462 次
1 回答
2
只需创建一个插件骨架
./script/generate 插件 FbTweet
然后在 RAILS_ROOT/vendor/plugins/fb_tweet/lib/fb_tweet.rb 文件中放入您的代码内容:
require 'rubygems'
require 'twitter'
require 'net/http'
require 'uri'
require 'httparty'
module FbTweet
def FbTweet.tweet(url)
bitly_url = Bitly.shorten(url)
httpauth = Twitter::HTTPAuth.new('newnepal', 'wnn_tweet_pwd')
base = Twitter::Base.new(httpauth)
base.update("Testing to port this into rails plugin #{bitly_url}")
base.friends_timeline.each { |tweet| puts tweet.text }
end
class Bitly
include HTTParty
base_uri 'api.bit.ly'
basic_auth 'millisami', 'R_fca41718b34e48a06daf0260c5919cf0'
format :json
def self.shorten(url)
response = get('/shorten', :query => required_params.merge(:longUrl => url))
response['results'][url]['shortUrl']
end
def self.required_params
{:version => "2.0.1"}
end
end
end
现在,打开您的控制台并简单地输入:
FbTweet.tweet("www.example.com")
于 2009-08-09T13:22:14.960 回答