ExTwitter
Provides access interfaces for the Twitter API.
Summary↑
configure() | Returns current OAuth configuration settings for accessing twitter server |
configure(oauth) | Provides OAuth configuration settings for accessing twitter server |
configure(scope, oauth) | Provides OAuth configuration settings for accessing twitter server |
destroy_status(id) | POST statuses/destroy/:id |
destroy_status(id, options) | POST statuses/destroy/:id |
favorites() | GET favorites/list |
favorites(options) | GET favorites/list |
follower_ids(id_or_options) | GET followers/ids |
follower_ids(id, options) | GET followers/ids |
followers(id_or_options) | GET followers/list |
followers(id, options) | GET followers/list |
friend_ids(id_or_options) | GET friends/ids |
friend_ids(id, options) | GET friends/ids |
friends(id_or_options) | GET friends/list |
friends(id, options) | GET friends/list |
geo_search(query) | GET geo/search |
geo_search(query, options) | GET geo/search |
home_timeline() | GET statuses/home_timeline |
home_timeline(options) | GET statuses/home_timeline |
list_members(options) | GET lists/members |
list_members(list, owner) | GET lists/members |
list_members(list, owner, options) | GET lists/members |
list_memberships() | GET lists/memberships |
list_memberships(options) | GET lists/memberships |
list_subscribers(options) | GET lists/subscribers |
list_subscribers(list, owner) | GET lists/subscribers |
list_subscribers(list, owner, options) | GET lists/subscribers |
list_timeline(options) | GET lists/statuses |
list_timeline(list, owner) | GET lists/statuses |
list_timeline(list, owner, options) | GET lists/statuses |
lists(id_or_screen_name) | GET lists/list |
lists(id_or_screen_name, options) | GET lists/list |
lookup_status(id) | GET statuses/lookup |
lookup_status(id, options) | GET statuses/lookup |
mentions_timeline() | GET statuses/mentions_timeline |
mentions_timeline(options) | GET statuses/mentions_timeline |
rate_limit_status() | GET application/rate_limit_status |
rate_limit_status(options) | GET application/rate_limit_status |
request(method, path) | Provides general twitter API access interface |
request(method, path, params) | Provides general twitter API access interface |
retweeter_ids(id) | GET statuses/retweeters/ids |
retweeter_ids(id, options) | GET statuses/retweeters/ids |
retweets(id) | GET statuses/retweets/:id |
retweets(id, options) | GET statuses/retweets/:id |
retweets_of_me() | GET statuses/retweets_of_me |
retweets_of_me(options) | GET statuses/retweets_of_me |
reverse_geocode(lat, long) | GET geo/reverse_geocode |
reverse_geocode(lat, long, options) | GET geo/reverse_geocode |
search(query) | GET search/tweets |
search(query, options) | GET search/tweets |
show(id) | GET statuses/show/:id |
show(id, options) | GET statuses/show/:id |
stream_control(pid, atom2) | An interface to control the stream |
stream_control(pid, atom2, options) | An interface to control the stream |
stream_filter(options) | POST statuses/filter |
stream_filter(options, timeout) | POST statuses/filter |
stream_sample() | GET statuses/sample |
stream_sample(options) | GET statuses/sample |
trends(id) | GET trends/place |
trends(id, options) | GET trends/place |
update(status) | POST statuses/update |
update(status, options) | POST statuses/update |
user(id_or_screen_name) | GET users/show |
user(id_or_screen_name, options) | GET users/show |
user_lookup(id_or_options) | GET users/lookup |
user_lookup(screen_name, options) | GET users/lookup |
user_search(query) | GET users/search |
user_search(query, options) | GET users/search |
user_timeline() | GET statuses/user_timeline |
user_timeline(options) | GET statuses/user_timeline |
Functions
Specs:
- configure :: Keyword.t | nil
Returns current OAuth configuration settings for accessing twitter server.
Specs:
- configure(Keyword.t) :: :ok
Provides OAuth configuration settings for accessing twitter server.
The specified configuration applies globally. Use ExTwitter.configure/2
for setting different configurations on each processes.
Examples
ExTwitter.configure(
consumer_key: System.get_env("TWITTER_CONSUMER_KEY"),
consumer_secret: System.get_env("TWITTER_CONSUMER_SECRET"),
access_token: System.get_env("TWITTER_ACCESS_TOKEN"),
access_token_secret: System.get_env("TWITTER_ACCESS_SECRET")
)
Specs:
- configure(:global | :process, Keyword.t) :: :ok
Provides OAuth configuration settings for accessing twitter server.
Options
The scope
can have one of the following values.
:global
- configuration is shared for all processes.:process
- configuration is isolated for each process.
Examples
ExTwitter.configure(
:process,
consumer_key: System.get_env("TWITTER_CONSUMER_KEY"),
consumer_secret: System.get_env("TWITTER_CONSUMER_SECRET"),
access_token: System.get_env("TWITTER_ACCESS_TOKEN"),
access_token_secret: System.get_env("TWITTER_ACCESS_SECRET")
)
Specs:
- destroy_status(Integer) :: ExTwitter.Model.Tweet.t
POST statuses/destroy/:id
Examples
ExTwitter.destroy_status(446328507694845952)
Reference
https://dev.twitter.com/docs/api/1.1/post/statuses/destroy/%3Aid
Specs:
- destroy_status(Integer, Keyword.t) :: ExTwitter.Model.Tweet.t
POST statuses/destroy/:id
Examples
ExTwitter.destroy_status(446328507694845952, trim_user: true)
Reference
https://dev.twitter.com/docs/api/1.1/post/statuses/destroy/%3Aid
Specs:
- favorites :: [ExTwitter.Model.Tweet.t]
GET favorites/list
Reference
Specs:
- favorites(Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET favorites/list
Examples
ExTwitter.favorites(screen_name: "twitter", count: 1)
Reference
Specs:
- follower_ids(String.t | Integer | Keyword.t) :: ExTwitter.Model.Cursor.t
GET followers/ids
Specify one of the screen_name
, user_id
or options
in the argument.
Examples
ExTwitter.follower_ids("twitter")
ExTwitter.follower_ids(783214)
ExTwitter.follower_ids(count: 1)
Reference
Specs:
- follower_ids(String.t | Integer, Keyword.t) :: ExTwitter.Model.Cursor.t
GET followers/ids
Examples
ExTwitter.follower_ids("twitter", count: 1)
ExTwitter.follower_ids(783214, count: 1)
Reference
Specs:
- followers(String.t | Integer | Keyword.t) :: ExTwitter.Model.Cursor.t
GET followers/list
Specify one of the screen_name
, user_id
or options
in the argument.
Examples
ExTwitter.followers("twitter")
ExTwitter.followers(783214)
ExTwitter.followers(count: 1)
Reference
Specs:
- followers(String.t | Integer, Keyword.t) :: ExTwitter.Model.Cursor.t
GET followers/list
Examples
ExTwitter.followers("twitter", count: 1)
ExTwitter.followers(783214, count: 1)
Reference
Specs:
- friend_ids(String.t | Integer | Keyword.t) :: ExTwitter.Model.Cursor.t
GET friends/ids
Specify one of the screen_name
, user_id
or options
in the argument.
Examples
ExTwitter.friend_ids("twitter")
ExTwitter.friend_ids(783214)
ExTwitter.friend_ids(count: 1)
Reference
Specs:
- friend_ids(String.t | Integer, Keyword.t) :: ExTwitter.Model.Cursor.t
GET friends/ids
Examples
ExTwitter.friend_ids("twitter", count: 1)
ExTwitter.friend_ids(783214, count: 1)
Reference
Specs:
- friends(String.t | Integer | Keyword.t) :: [ExTwitter.Model.User.t]
GET friends/list
Specify one of the screen_name
, user_id
or options
in the argument.
Examples
ExTwitter.friends("twitter")
ExTwitter.friends(783214)
ExTwitter.friends(count: 1)
Reference
Specs:
- friends(String.t | Integer, Keyword.t) :: [ExTwitter.Model.User.t]
GET friends/list
Examples
ExTwitter.friends("twitter", count: 1)
ExTwitter.friends(783214, count: 1)
Reference
Specs:
- geo_search(String.t) :: [ExTwitter.Model.Place.t]
GET geo/search
Examples
ExTwitter.geo_search("new york")
Reference
Specs:
- geo_search(String.t, Keyword.t) :: [ExTwitter.Model.Place.t]
GET geo/search
Examples
ExTwitter.geo_search("new york", max_results: 1)
Reference
Specs:
- home_timeline :: [ExTwitter.Model.Tweet.t]
GET statuses/home_timeline
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/home_timeline
Specs:
- home_timeline(Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET statuses/home_timeline
Examples
ExTwitter.home_timeline(count: 1)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/home_timeline
Specs:
- list_members(Keyword.t) :: [ExTwitter.Model.User.t]
GET lists/members
Examples
ExTwitter.list_members(slug: "twitter-engineering", owner_screen_name: "twitter")
Reference
Specs:
- list_members(String.t, String.t) :: [ExTwitter.Model.User.t]
GET lists/members
Examples
ExTwitter.list_members("twitter-engineering", "twitter")
Reference
Specs:
- list_members(String.t, String.t, Keyword.t) :: [ExTwitter.Model.User.t]
GET lists/members
Examples
ExTwitter.list_members("twitter-engineering", "twitter", count: 1)
Reference
Specs:
- list_memberships :: [ExTwitter.Model.List.t]
GET lists/memberships
Reference
Specs:
- list_memberships(Keyword.t) :: [ExTwitter.Model.List.t]
GET lists/memberships
Examples
ExTwitter.list_memberships(screen_name: "twitter", count: 2)
Reference
Specs:
- list_subscribers(Keyword.t) :: [ExTwitter.Model.User.t]
GET lists/subscribers
Examples
ExTwitter.list_subscribers(slug: "twitter-engineering", owner_screen_name: "twitter")
Reference
Specs:
- list_subscribers(String.t, String.t) :: [ExTwitter.Model.User.t]
GET lists/subscribers
Examples
ExTwitter.list_subscribers("twitter-engineering", "twitter")
Reference
Specs:
- list_subscribers(String.t, String.t, Keyword.t) :: [ExTwitter.Model.User.t]
GET lists/subscribers
Examples
ExTwitter.list_subscribers("twitter-engineering", "twitter", count: 1)
Reference
Specs:
- list_timeline(Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET lists/statuses
Examples
ExTwitter.list_timeline(slug: "twitter-engineering", owner_screen_name: "twitter")
Reference
Specs:
- list_timeline(String.t, String.t) :: [ExTwitter.Model.Tweet.t]
GET lists/statuses
Examples
ExTwitter.list_timeline("twitter-engineering", "twitter")
Reference
Specs:
- list_timeline(String.t, String.t, Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET lists/statuses
Examples
ExTwitter.list_timeline("twitter-engineering", "twitter", count: 1)
Reference
Specs:
- lists(String.t | Integer) :: [ExTwitter.Model.List.t]
GET lists/list
Examples
ExTwitter.lists("twitter")
ExTwitter.lists(783214)
Reference
Specs:
- lists(String.t | Integer, Keyword.t) :: [ExTwitter.Model.List.t]
GET lists/list
Examples
ExTwitter.lists("twitter", count: 1)
ExTwitter.lists(783214, count: 1)
Reference
Specs:
- lookup_status(String.t) :: [ExTwitter.Model.Tweet.t]
GET statuses/lookup
Examples
ExTwitter.lookup_status("504692034473435136,502883389347622912")
Reference
Specs:
- lookup_status(String.t, Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET statuses/lookup
Examples
ExTwitter.lookup_status("504692034473435136,502883389347622912", trim_user: true)
Reference
Specs:
- mentions_timeline :: [ExTwitter.Model.Tweet.t]
GET statuses/mentions_timeline
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/mentions_timeline
Specs:
- mentions_timeline(Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET statuses/mentions_timeline
Examples
ExTwitter.mentions_timeline(count: 1)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/mentions_timeline
Specs:
- rate_limit_status :: Map
GET application/rate_limit_status
Examples
status = ExTwitter.rate_limit_status
limit = status["resources"]["statuses"]["/statuses/home_timeline"]["remaining"]
Reference
https://dev.twitter.com/docs/api/1.1/get/application/rate_limit_status
Specs:
- rate_limit_status(Keyword.t) :: Map
GET application/rate_limit_status
Examples
ExTwitter.rate_limit_status(resources: "statuses")
Reference
https://dev.twitter.com/docs/api/1.1/get/application/rate_limit_status
Specs:
- request(:get | :post, String.t) :: Map
Provides general twitter API access interface.
This method simply returns parsed json in Map structure.
Examples
ExTwitter.request(:get, "1.1/statuses/home_timeline.json")
Specs:
Provides general twitter API access interface.
This method simply returns parsed json in Map structure.
Examples
ExTwitter.request(:get, "1.1/search/tweets.json", [q: "elixir", count: 1])
Specs:
GET statuses/retweeters/ids
Examples
ExTwitter.retweeter_ids(444144169058308096)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/retweeters/ids
Specs:
GET statuses/retweeters/ids
Examples
ExTwitter.retweeter_ids(444144169058308096, stringify_ids: true)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/retweeters/ids
Specs:
- retweets(Integer | String.t) :: [ExTwitter.Model.Tweet.t]
GET statuses/retweets/:id
Examples
ExTwitter.retweets(444144169058308096)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/retweets/%3Aid
Specs:
- retweets(Integer | String.t, Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET statuses/retweets/:id
Examples
ExTwitter.retweets(444144169058308096, count: 1)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/retweets/%3Aid
Specs:
- retweets_of_me :: [ExTwitter.Model.Tweet.t]
GET statuses/retweets_of_me
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/retweets_of_me
Specs:
- retweets_of_me(Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET statuses/retweets_of_me
Examples
ExTwitter.retweets_of_me(count: 1)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/retweets_of_me
Specs:
- reverse_geocode(float, float) :: [ExTwitter.Model.Place.t]
GET geo/reverse_geocode
Examples
ExTwitter.reverse_geocode(37.7821120598956, -122.400612831116)
Reference
https://dev.twitter.com/docs/api/1.1/get/geo/reverse_geocode
Specs:
- reverse_geocode(float, float, Keyword.t) :: [ExTwitter.Model.Place.t]
GET geo/reverse_geocode
Examples
ExTwitter.reverse_geocode(37.7821120598956, -122.400612831116, max_results: 1)
Reference
https://dev.twitter.com/docs/api/1.1/get/geo/reverse_geocode
Specs:
- search(String.t) :: [ExTwitter.Model.Tweet.t]
GET search/tweets
Examples
ExTwitter.search("test")
Reference
Specs:
- search(String.t, Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET search/tweets
Examples
ExTwitter.search("test", count: 1)
Reference
Specs:
- show(Integer | String.t) :: ExTwitter.Model.Tweet.t
GET statuses/show/:id
Examples
ExTwitter.show(446328507694845952)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid
Specs:
- show(Integer | String.t, Keyword.t) :: ExTwitter.Model.Tweet.t
GET statuses/show/:id
Examples
ExTwitter.show(446328507694845952, trim_user: true)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid
Specs:
- stream_control(pid, :stop) :: :ok
An interface to control the stream.
This method is for controlling stream, and it doesn’t make twitter API call.
Options
The pid
is the process id where stream is being processed.
Examples
ExTwitter.stream_control(pid, :stop)
Specs:
- stream_control(pid, :stop, [{:timeout, Integer}]) :: :ok
An interface to control the stream.
This method is for handling elixir’s stream which can keep running infinitely. It doesn’t make twitter API call.
Options
The options
can have following values, in addition to the
twitter API’s parameter.
:receive_messages
- true/false flag whether to receive control messages in addition to normal tweets. default is false.
The pid
is the process id where stream is processed.
The timeout
is the maximum wait time (in milliseconds) to complete
the message handling.
Examples
ExTwitter.stream_control(pid, :stop, timeout: 50)
Specs:
- stream_filter(Keyword.t) :: Enumerable.t
POST statuses/filter
Returns public statuses that match one or more filter predicates. This method returns the Stream that holds the list of tweets. Specify at least one of the [follow, track, locations] options.
Options
The options
can have following values, in addition to the
twitter API’s parameter.
:receive_messages
- true/false flag whether to receive control messages in addition to normal tweets. default is false.
Examples
ExTwitter.stream_filter(track: "apple")
Reference
Specs:
- stream_filter(Keyword.t, [{:timeout, Integer}]) :: Enumerable.t
POST statuses/filter
Returns public statuses that match one or more filter predicates. This method returns the Stream that holds the list of tweets. Specify at least one of the [follow, track, locations] options.
Options
The options
can have following values, in addition to the
twitter API’s parameter.
:receive_messages
- true/false flag whether to receive control messages in addition to normal tweets. default is false.
The timeout is the maximum milliseconds to wait until receiving
next tweet. Specifying :infinity
makes it wait infinitely.
Examples
ExTwitter.stream_filter(track: "apple", timeout: 60000)
Reference
Specs:
- stream_sample :: Enumerable.t
GET statuses/sample
Returns a small random sample of all public statuses. This method returns the Stream that holds the list of tweets.
Reference
Specs:
- stream_sample(Keyword.t) :: Enumerable.t
GET statuses/sample
Returns a small random sample of all public statuses. This method returns the Stream that holds the list of tweets.
Options
The options
can have following values, in addition to the
twitter API’s parameter.
:receive_messages
- true/false flag whether to receive control messages in addition to normal tweets. default is false.
Reference
Specs:
- trends(Integer | String.t) :: [ExTwitter.Model.Trend.t]
GET trends/place
Examples
ExTwitter.trends(1)
Reference
Specs:
- trends(Integer | String.t, Keyword.t) :: [ExTwitter.Model.Trend.t]
GET trends/place
Examples
ExTwitter.trends(1, exclude: true)
Reference
Specs:
- update(String.t) :: ExTwitter.Model.Tweet.t
POST statuses/update
Examples
ExTwitter.update("update sample")
Reference
Specs:
- update(String.t, Keyword.t) :: ExTwitter.Model.Tweet.t
POST statuses/update
Examples
ExTwitter.update("update sample", trim_user: true)
Reference
Specs:
- user(String.t | Integer) :: ExTwitter.Model.User.t
GET users/show
Examples
ExTwitter.user("elixirlang")
ExTwitter.user(507309896)
Reference
Specs:
- user(String.t | Integer, Keyword.t) :: ExTwitter.Model.User.t
GET users/show
Examples
ExTwitter.user("elixirlang", include_entities: false)
ExTwitter.user(507309896, include_entities: false)
Reference
Specs:
- user_lookup(String.t | Integer | Keyword.t) :: [ExTwitter.Model.User.t]
GET users/lookup
Examples
ExTwitter.user_lookup("twitter")
ExTwitter.user_lookup(783214)
ExTwitter.user_lookup(screen_name: "twitter")
Reference
Specs:
- user_lookup(String.t | Integer, Keyword.t) :: [ExTwitter.Model.User.t]
GET users/lookup
Examples
ExTwitter.user_lookup("twitter", include_entities: false)
ExTwitter.user_lookup(783214, include_entities: false)
Reference
Specs:
- user_search(String.t) :: [ExTwitter.Model.User.t]
GET users/search
Examples
ExTwitter.user_search("elixirlang")
Reference
Specs:
- user_search(String.t, Keyword.t) :: [ExTwitter.Model.User.t]
GET users/search
Examples
ExTwitter.user_search("elixirlang", count: 1)
Reference
Specs:
- user_timeline :: [ExTwitter.Model.Tweet.t]
GET statuses/user_timeline
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline
Specs:
- user_timeline(Keyword.t) :: [ExTwitter.Model.Tweet.t]
GET statuses/user_timeline
Examples
ExTwitter.user_timeline(count: 1)
Reference
https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline