Object
# File lib/twitter_oauth/client.rb, line 22 def initialize(options = {}) @consumer_key = options[:consumer_key] @consumer_secret = options[:consumer_secret] @token = options[:token] @secret = options[:secret] @proxy = options[:proxy] @debug = options[:debug] @api_version = options[:api_version] || '1.1' @api_host = options[:api_host] || 'api.twitter.com' end
Add a member to a list. The authenticated user must own the list to be able to add members to it. Lists are limited to having 500 members.
# File lib/twitter_oauth/lists.rb, line 60 def add_member_to_list(user, list, member_id, options={}) post("/#{user}/#{list}/members.json", options.merge(:id => member_id)) end
Helper to retrun all followers via multiple requests
# File lib/twitter_oauth/friendships.rb, line 62 def all_followers(cursor=-1) users = [] while cursor != 0 do json = followers(cursor) cursor = json["next_cursor"] users += json["users"] end users end
Helper to retrun all friends via multiple requests
# File lib/twitter_oauth/friendships.rb, line 45 def all_friends(cursor=-1) users = [] while cursor != 0 do json = friends(cursor) cursor = json["next_cursor"] users += json["users"] end users end
# File lib/twitter_oauth/client.rb, line 51 def authentication_request_token(options={}) consumer.options[:authorize_path] = '/oauth/authenticate' request_token(options) end
Returns the locations that Twitter has trending topic information for. The response is an array of "locations" that encode the location's WOEID and some other human-readable information such as a canonical name and country the location belongs in. A WOEID is a Yahoo! Where On Earth ID.
# File lib/twitter_oauth/trends.rb, line 17 def available_trends get("/trends/available.json") end
Blocks the user specified in the ID parameter as the authenticating user. Destroys a friendship to the blocked user if it exists. Returns the blocked user in the requested format when successful.
# File lib/twitter_oauth/blocks.rb, line 7 def block(id) post("/blocks/create/#{id}.json") end
Returns if the authenticating user is blocking a target user.
# File lib/twitter_oauth/blocks.rb, line 18 def blocked?(id) get("/blocks/exists/#{id}.json") end
Returns an array of user objects that the authenticating user is blocking.
# File lib/twitter_oauth/blocks.rb, line 23 def blocking get("/blocks/blocking.json") end
Returns an array of numeric user ids the authenticating user is blocking.
# File lib/twitter_oauth/blocks.rb, line 28 def blocking_ids get("/blocks/blocking/ids.json") end
Returns the locations that Twitter has trending topic information for, closest to a specified location. The response is an array of "locations" that encode the location's WOEID and some other human-readable information such as a canonical name and country the location belongs in. A WOEID is a Yahoo...
# File lib/twitter_oauth/trends.rb, line 26 def closest_trends get("/trends/closest.json") end
Creates a new list for the authenticated user. Accounts are limited to 20 lists.
# File lib/twitter_oauth/lists.rb, line 9 def create_list(user, list, options={}) post("/#{user}/lists.json", options.merge(:name => list)) end
Creates a saved search for the authenticated user.
# File lib/twitter_oauth/saved_searches.rb, line 15 def create_saved_search(query) post("/saved_searches/create.json", :query => query) end
Deletes the specified list. Must be owned by the authenticated user.
# File lib/twitter_oauth/lists.rb, line 30 def delete_list(user, list) delete("/#{user}/lists/#{list}.json") end
# File lib/twitter_oauth/saved_searches.rb, line 19 def delete_saved_search(search_id) post("/saved_searches/destroy/#{search_id}.json") end
Favorites the status specified in the ID parameter as the authenticating user. Returns the favorite status when successful.
# File lib/twitter_oauth/favorites.rb, line 11 def favorite(id) post("/favorites/create/#{id}.json") end
Returns the 20 most recent favorite statuses for the authenticating user or user specified by the ID parameter.
# File lib/twitter_oauth/favorites.rb, line 5 def favorites(page=1) get("/favorites.json?page=#{page}") end
Enables device notifications for updates from the specified user. Returns the specified user when successful.
# File lib/twitter_oauth/notifications.rb, line 6 def follow(id) post("/notifications/follow/#{id}.json") end
Returns a cursored collection of user objects for users following the specified user.
# File lib/twitter_oauth/friendships.rb, line 57 def followers(cursor=-1) get("/followers/list.json?cursor=#{cursor}") end
Returns an array of numeric IDs for every user following the specified user.
# File lib/twitter_oauth/friendships.rb, line 11 def followers_ids(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/followers/ids.json?#{args}") end
Allows the authenticating user to follow the specified user. Returns the befriended user when successful.
# File lib/twitter_oauth/friendships.rb, line 17 def friend(id) post("/friendships/create/#{id}.json") end
Returns a cursored collection of user objects for every user the specified user is following (otherwise known as their "friends")
# File lib/twitter_oauth/friendships.rb, line 40 def friends(cursor=-1) get("/friends/list.json?cursor=#{cursor}") end
Tests for the existence of friendship between two users. Will return true if user_a follows user_b, otherwise will return false. You are better off using get_friendship as it returns more extended information.
# File lib/twitter_oauth/friendships.rb, line 28 def friends?(a, b) oauth_response = access_token.get("/friendships/exists.json?user_a=#{a}&user_b=#{b}") oauth_response.body.strip == 'true' end
Returns an array of numeric IDs for every user the specified user is following.
# File lib/twitter_oauth/friendships.rb, line 5 def friends_ids(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/friends/ids.json?#{args}") end
Returns the 20 most recent statuses posted by the authenticating user and that user's friends.
# File lib/twitter_oauth/timeline.rb, line 18 def friends_timeline(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/statuses/friends_timeline.json?#{args}") end
Find out more details of a place that was returned from the geo/reverse_geocode method.
# File lib/twitter_oauth/geo.rb, line 22 def geo(id) get "/geo/id/#{id}.json" end
Search for places (cities and neighborhoods) that can be attached to a statuses/update. Given a latitude and a longitude pair, or an IP address, return a list of all the valid cities and neighborhoods that can be used as a place_id when updating a status.
# File lib/twitter_oauth/geo.rb, line 15 def geo_search(options={}) options[:query] = URI.escape(options[:query]) if options[:query] args = options.map{|k,v| "#{k}=#{v}"}.join('&') get "/geo/search.json?#{args}" end
Returns detailed information about the relationship between two users.
# File lib/twitter_oauth/friendships.rb, line 34 def get_friendship(a, b) get("/friendships/show.json?source_screen_name=#{a}&target_screen_name=#{b}") end
Show the specified list. Private lists will only be shown if the authenticated user owns the specified list.
# File lib/twitter_oauth/lists.rb, line 25 def get_list(user, list) get("/#{user}/lists/#{list}.json") end
List the lists of the specified user. Private lists will be included if the authenticated user is the same as the user whose lists are being returned.
# File lib/twitter_oauth/lists.rb, line 20 def get_lists(user) get("/#{user}/lists.json") end
Check if a user is a member of the specified list.
# File lib/twitter_oauth/lists.rb, line 71 def get_member_of_list(user, list, member_id) get("/#{user}/#{list}/members/#{member_id}.json") end
Retrieve the data for a saved search owned by the authenticating user specified by the given id.
# File lib/twitter_oauth/saved_searches.rb, line 10 def get_saved_search(search_id) get("/saved_searches/show/#{search_id}.json") end
Check if the specified user is a subscriber of the specified list.
# File lib/twitter_oauth/lists.rb, line 95 def get_subscriber_of_list(user, list, subscriber_id) get("/#{user}/#{list}/subscribers/#{subscriber_id}.json") end
Returns the 20 most recent statuses, including retweets, posted by the authenticating user and that user's friends. This is the equivalent of /timeline/home on the Web.
# File lib/twitter_oauth/timeline.rb, line 12 def home_timeline(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/statuses/home_timeline.json?#{args}") end
# File lib/twitter_oauth/account.rb, line 12 def info get('/account/verify_credentials.json') end
Disables notifications for updates from the specified user to the authenticating user. Returns the specified user when successful.
# File lib/twitter_oauth/notifications.rb, line 12 def leave(id) post("/notifications/leave/#{id}.json") end
Returns the members of the specified list.
# File lib/twitter_oauth/lists.rb, line 54 def list_members(user, list) get("/#{user}/#{list}/members.json") end
List the lists the specified user has been added to.
# File lib/twitter_oauth/lists.rb, line 40 def list_memberships(user) get("/#{user}/lists/memberships.json") end
Show tweet timeline for members of the specified list.
# File lib/twitter_oauth/lists.rb, line 35 def list_statuses(user, list) get("/#{user}/lists/#{list}/statuses.json") end
Returns the subscribers of the specified list.
# File lib/twitter_oauth/lists.rb, line 80 def list_subscribers(user, list) get("/#{user}/#{list}/subscribers.json") end
List the lists the specified user follows.
# File lib/twitter_oauth/lists.rb, line 45 def list_subscriptions(user) get("/#{user}/lists/subscriptions.json") end
Returns the 20 most recent @replies (status updates prefixed with @username) for the authenticating user.
# File lib/twitter_oauth/timeline.rb, line 31 def mentions(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/statuses/mentions_timeline.json?#{args}") end
Sends a new direct message to the specified user from the authenticating user.
# File lib/twitter_oauth/direct_messages.rb, line 19 def message(user, text) post('/direct_messages/new.json', :user => user, :text => text) end
Destroys the direct message specified in the required ID parameter.
# File lib/twitter_oauth/direct_messages.rb, line 24 def message_destroy(id) post("/direct_messages/destroy/#{id}.json") end
Return the most recent direct messages sent to the authenticating user. By default, returns the last 20. See apiwiki.twitter.com/Twitter-REST-API-Method:-direct_messages for other options
# File lib/twitter_oauth/direct_messages.rb, line 7 def messages(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/direct_messages.json?#{args}") end
Returns the top 10 trending topics for a specific WOEID, if trending information is available for it. The response is an array of "trend" objects that encode the name of the trending topic, the query parameter that can be used to search for the topic on Twitter Search, and the Twitter Search URL....
# File lib/twitter_oauth/trends.rb, line 9 def place_trends get("/trends/place.json") end
Returns the 20 most recent statuses from non-protected users who have set a custom user icon.
# File lib/twitter_oauth/timeline.rb, line 5 def public_timeline(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/statuses/public_timeline.json?#{args}") end
Returns the current rate limits for methods belonging to the specified resource families. Each 1.1 API resource belongs to a "resource family" which is indicated in its method documentation. You can typically determine a method's resource family from the first component of the path after the...
# File lib/twitter_oauth/help.rb, line 9 def rate_limit_status get('/application/rate_limit_status.json') end
Removes the specified member from the list. The authenticated user must be the list's owner to remove members from the list.
# File lib/twitter_oauth/lists.rb, line 66 def remove_member_from_list(user, list, member_id) delete("/#{user}/#{list}/members.json?id=#{member_id}") end
The user specified in the id is blocked by the authenticated user and reported as a spammer.
# File lib/twitter_oauth/spam.rb, line 5 def report_spam(user) post("/report_spam.json", :id => user) end
# File lib/twitter_oauth/client.rb, line 47 def request_token(options={}) consumer.get_request_token(options) end
Retweets the tweet specified by the id parameter. Returns the original tweet with retweet details embedded.
# File lib/twitter_oauth/status.rb, line 20 def retweet(id) post("/statuses/retweet/#{id}.json") end
Returns the 20 most recent retweets posted by the authenticating user
# File lib/twitter_oauth/timeline.rb, line 38 def retweeted_by_me(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/statuses/retweeted_by_me.json?#{args}") end
Returns the 20 most recent retweets posted by the authenticating user's friends.
# File lib/twitter_oauth/timeline.rb, line 44 def retweeted_to_me(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/statuses/retweeted_to_me.json?#{args}") end
Returns the 100 most recent retweets of the tweet.
# File lib/twitter_oauth/status.rb, line 25 def retweets(id) get("/statuses/retweets/#{id}.json") end
Returns the 20 most recent tweets of the authenticated user that have been retweeted by others.
# File lib/twitter_oauth/timeline.rb, line 50 def retweets_of_me(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/statuses/retweets_of_me.json?#{args}") end
Search for places (cities and neighborhoods) that can be attached to a statuses/update. Given a latitude and a longitude, return a list of all the valid places that can be used as a place_id when updating a status
# File lib/twitter_oauth/geo.rb, line 6 def reverse_geocode(lat, lng, options={}) options[:lat] = lat; options[:lng] = lng args = options.map{|k,v| "#{k}=#{v}"}.join('&') get "/geo/reverse_geocode.json?#{args}" end
Returns the authenticated user's saved search queries.
# File lib/twitter_oauth/saved_searches.rb, line 5 def saved_searches get("/saved_searches.json") end
# File lib/twitter_oauth/search.rb, line 6 def search(q, options={}) options[:count] ||= 20 options[:q] = URI.escape(q) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/search/tweets.json?#{args}") end
By default, returns a list of the 20 most recent direct messages sent by the authenticating user.
# File lib/twitter_oauth/direct_messages.rb, line 13 def sent_messages(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/direct_messages/sent.json?#{args}") end
Returns settings (including current trend, geo and sleep time information) for the authenticating user.
# File lib/twitter_oauth/user.rb, line 6 def settings get('/account/settings.json') end
# File lib/twitter_oauth/client.rb, line 43 def show(username) get("/users/show/#{username}.json") end
Returns a single status, specified by the id parameter below.
# File lib/twitter_oauth/status.rb, line 5 def status(id) get("/statuses/show/#{id}.json") end
Destroys the status specified by the required ID parameter
# File lib/twitter_oauth/status.rb, line 15 def status_destroy(id) post("/statuses/destroy/#{id}.json") end
Make the authenticated user follow the specified list.
# File lib/twitter_oauth/lists.rb, line 85 def subscribe_to_list(user, list, options={}) post("/#{user}/#{list}/subscribers.json") end
Un-blocks the user specified in the ID parameter for the authenticating user. Returns the un-blocked user in the requested format when successful.
# File lib/twitter_oauth/blocks.rb, line 13 def unblock(id) post("/blocks/destroy/#{id}.json") end
Un-favorites the status specified in the ID parameter as the authenticating user. Returns the un-favorited status when successful.
# File lib/twitter_oauth/favorites.rb, line 17 def unfavorite(id) post("/favorites/destroy/#{id}.json") end
Allows the authenticating users to unfollow the specified user. Returns the unfollowed user when successful.
# File lib/twitter_oauth/friendships.rb, line 22 def unfriend(id) post("/friendships/destroy/#{id}.json") end
Unsubscribes the authenticated user form the specified list.
# File lib/twitter_oauth/lists.rb, line 90 def unsubscribe_from_list(user, list) delete("/#{user}/#{list}/subscribers.json") end
Updates the authenticating user's status.
# File lib/twitter_oauth/status.rb, line 10 def update(message, options={}) post('/statuses/update.json', options.merge(:status => message)) end
Updates the specified list.
# File lib/twitter_oauth/lists.rb, line 14 def update_list(user, list, options={}) post("/#{user}/lists/#{list}.json", options) end
Sets values that users are able to set under the "Account" tab of their settings page. Valid parameters are:
:name Full name associated with the profile. Maximum of 20 characters. :url URL associated with the profile. Will be prepended with "http://" if not present. Maximum of 100 characters. :location The city or country describing where the user of the account is located. The contents are not normalized or geocoded in any way. Maximum of 30 characters. :description A description of the user owning the account. Maximum of 160 characters.
# File lib/twitter_oauth/account.rb, line 43 def update_profile(params) post('/account/update_profile', params) end
Updates profile background image. Takes a File object and optional tile argument. Returns extended user info object.
# File lib/twitter_oauth/account.rb, line 18 def update_profile_background_image(image, tile = false) body, headers = http_multipart_data({:image => image, :tile => tile}) post('/account/update_profile_background_image.json', body, headers) end
colors hash must contain at least one or more of the following keys :profile_background_color, :profile_text_color, :profile_link_color, :profile_sidebar_fill_color, :profile_sidebar_border_color returns extended user info object.
# File lib/twitter_oauth/account.rb, line 32 def update_profile_colors(colors) post('/account/update_profile_colors.json', colors) end
Updates profile avatar image. Takes a File object which should be an image. Returns extended user info object.
# File lib/twitter_oauth/account.rb, line 25 def update_profile_image(image) body, headers = http_multipart_data({:image => image}) post('/account/update_profile_image.json', body, headers) end
Returns the 20 most recent statuses posted from the authenticating user.
# File lib/twitter_oauth/timeline.rb, line 24 def user_timeline(options={}) args = options.map{|k,v| "#{k}=#{v}"}.join('&') get("/statuses/user_timeline.json?#{args}") end
Returns an HTTP 200 OK response code and a representation of the requesting user if authentication was successful; returns a 401 status code and an error message if not. Use this method to test if supplied user credentials are valid.
# File lib/twitter_oauth/user.rb, line 14 def verify_credentials get('/account/verify_credentials.json') end
Generated with the Darkfish Rdoc Generator 2.