pingpong / twitter
Twitter OAuth for Laravel
Installs: 43 067
Dependents: 0
Suggesters: 0
Security: 0
Stars: 30
Watchers: 8
Forks: 10
Open Issues: 2
Requires
- php: >=5.5.9
- illuminate/config: 5.1.*
- illuminate/http: 5.1.*
- illuminate/routing: 5.1.*
- illuminate/session: 5.1.*
- illuminate/support: 5.1.*
- jublonet/codebird-php: ~2
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4
This package is not auto-updated.
Last update: 2024-12-17 02:59:17 UTC
README
Server Requirements
Require PHP 5.4+ or higher.
Installation
For Laravel 4.* please use version
1.*
.
Open your composer.json file, and add the new required package.
"pingpong/twitter": "~2"
Next, open a terminal and run.
composer update
After the composer updated. Add new service provider in app/config/app.php.
'Pingpong\Twitter\TwitterServiceProvider'
Next, Add new alias.
'Twitter' => 'Pingpong\Twitter\Facades\Twitter',
Next, open a terminal and run.
php artisan vendor:publish --provider="Pingpong\Twitter\TwitterServiceProvider"
Done.
Configuration File
return array( 'consumer_key' => '', 'consumer_secret' => '', 'oauth_token' => null, 'oauth_token_secret'=> null, 'bearer_token' => null, 'callback_url' => url('twitter/callback'), 'fallback_url' => url('/') );
Usage
Authorize the user.
Twitter::authorize();
Authenticate the user.
Twitter::authenticate();
You can also override the callback url when authorize or authenticate the user.
$callbackUrl = url('twitter/getcallback'); Twitter::authorize($callbackUrl); Twitter::authenticate($callbackUrl);
Get callback after authorize or authenticate the user.
Twitter::getCallback(); // or using `callback` method Twitter::callback();
Get account verify credentials.
Twitter::getAccountVerifyCredentials(); // you can also specify what parameters want you use $parameters = array(); Twitter::getAccountVerifyCredentials($parameters); // or using `getCredentials` method Twitter::getCredentials($parameters);
Global API call.
Twitter::api($method, $path, $parameters, $multipart, $appOnlyAuth); Twitter::api('GET', '/path'); Twitter::api('POST', '/path', $parameters); Twitter::api('PUT', '/path', $parameters); Twitter::api('PATCH', '/path', $parameters); Twitter::api('DELETE', '/path/to', $parameters);
Helper method for call Twitter API.
GET Request
Twitter::get('/path', $parameters);
POST Request
Twitter::post('/path', $parameters);
PUT Request
Twitter::put('/path', $parameters);
PATCH Request
Twitter::patch('/me', $parameters);
DELETE Request
Twitter::delete('/me', $parameters);
Set return format.
Twitter::format('json'); Twitter::format('array'); Twitter::format('object');
Enable and disable curl.
Twitter::enableCurl(); Twitter::disableCurl();
Set connection and request timeout.
Twitter::setConnectionTimeout(2000); Twitter::setTimeout(500);
Allows a Consumer application to exchange the OAuth Request Token for an OAuth Access Token with xAuth.
Twitter::xAuth($username, $password);
Set token.
Twitter::setToken($oauthToken, $oauthTokenSecret);
Get bearer token.
$token = Twitter::getBearerToken();
Set bearer token.
Twitter::setBearerToken($token);
Example
Authenticate the user.
Route::get('twitter/authenticate', function() { return Twitter::authenticate(); });
Authorize the user.
Route::get('twitter/authorize', function() { return Twitter::authorize(); });
Get twitter callback.
Route::get('twitter/callback', function() { try { $callback = Twitter::getCallback(); dd($callback); } catch(Pingpong\Twitter\Exceptions\TwitterApiException $e) { var_dump($e->getMessage()); var_dump($e->getResponse()); } });
Logout the user.
Route::get('twitter/logout', function() { Twitter::logout(); return Redirect::home(); });
Post tweet.
Route::get('twitter/tweet', function() { try { $status = 'Hello world!'; $response = Twitter::tweet($status); dd($response); } catch(Pingpong\Twitter\Exceptions\TwitterApiException $e) { var_dump($e->getMessage()); var_dump($e->getResponse()); } });
Upload media.
Route::get('twitter/upload', function() { try { $status = 'Hello world!'; $media = '/path/to/your-media.ext'; $response = Twitter::upload($status, $media); dd($response); } catch(Pingpong\Twitter\Exceptions\TwitterApiException $e) { var_dump($e->getMessage()); var_dump($e->getResponse()); } });
REST API v1.1 Resources
Timelines
Timelines are collections of Tweets, ordered with the most recent first.
GET statuses/mentions_timeline
Returns the 20 most recent mentions (tweets containing a users's @screen_name) for the authenticating user.
Twitter::getStatusesMentionsTimeline($parameters, $multipart, $appOnlyAuth);
GET statuses/user_timeline
Returns a collection of the most recent Tweets posted by the user indicated by the screen_name or user_id parameters.
Twitter::getStatusesUserTimeline($parameters, $multipart, $appOnlyAuth);
GET statuses/home_timeline
Returns a collection of the most recent Tweets and retweets posted by the authenticating user and the users they follow.
Twitter::getStatusesHomeTimeline($parameters, $multipart, $appOnlyAuth);
GET statuses/retweet_of_me
Returns the most recent tweets authored by the authenticating user that have been retweeted by others.
Twitter::getStatusesRetweetsOfMe($parameters, $multipart, $appOnlyAuth);
Tweets
Tweets are the atomic building blocks of Twitter, 140-character status updates with additional associated metadata.
GET statuses/retweets/:id
Returns a collection of the 100 most recent retweets of the tweet specified by the id parameter.
Twitter::getStatusesRetweets($id, $parameters, $multipart, $appOnlyAuth);
GET statuses/show/:id
Returns a single Tweet, specified by the id parameter.
Twitter::getStatusesShow($id, $parameters, $multipart, $appOnlyAuth);
POST statuses/destroy/:id
Destroys the status specified by the required ID parameter.
Twitter::postStatusesDestroy($id, $parameters, $multipart, $appOnlyAuth);
POST statuses/update
Updates the authenticating user's current status, also known as tweeting.
Twitter::postStatusesUpdate($parameters, $multipart, $appOnlyAuth);
POST statuses/retweet/:id
Retweets a tweet.
Twitter::postStatusesRetweet($id, $parameters, $multipart, $appOnlyAuth);
POST statuses/update_with_media
Updates the authenticating user's current status and attaches media for upload.
Twitter::postStatusesUpdateWithMedia($parameters, $appOnlyAuth);
GET statuses/oembed
Returns information allowing the creation of an embedded representation of a Tweet on third party sites.
Twitter::getStatusesOembed($parameters, $multipart, $appOnlyAuth);
GET statuses/retweeters/ids
Returns a collection of up to 100 user IDs belonging to users who have retweeted the tweet specified by the id parameter.
Twitter::getStatusesRetweetersIds($parameters, $multipart, $appOnlyAuth);
Search
Find relevant Tweets based on queries performed by your users.
GET search/tweets
Returns a collection of relevant Tweets matching a specified query.
Twitter::getSearchTweets($parameters, $multipart, $appOnlyAuth);
Direct Messages
Direct Messages are short, non-public messages sent between two users.
Twitter::getSearchTweets($parameters, $multipart, $appOnlyAuth);
GET direct_messages
Returns the 20 most recent direct messages sent to the authenticating user.
Twitter::getDirectMessages($parameters, $multipart, $appOnlyAuth);
GET direct_messages/sent
Returns the 20 most recent direct messages sent by the authenticating user.
Twitter::getDirectMessagesSent($parameters, $multipart, $appOnlyAuth);
GET direct_messages/show
Returns a single direct message, specified by an id parameter.
Twitter::getDirectMessagesShow($parameters, $multipart, $appOnlyAuth);
POST direct_messages/destroy
Destroys the direct message specified in the required ID parameter.
Twitter::postDirectMessagesDestroy($parameters, $multipart, $appOnlyAuth);
POST direct_messages/new
Sends a new direct message to the specified user from the authenticating user.
Twitter::postDirectMessagesNew($parameters, $multipart, $appOnlyAuth);
Favorites
Users favorite tweets to give recognition to awesome tweets, to curate the best of Twitter, to save for reading later, and a variety of other reasons. Likewise, developers make use of "favs" in many different ways.
GET favorites/list
Returns the 20 most recent Tweets favorited by the authenticating or specified user.
Twitter::getFavoritesList($parameters, $multipart, $appOnlyAuth);
POST favorites/destroy
Un-favorites the status specified in the ID parameter as the authenticating user.
Twitter::postFavoritesDestroy($parameters, $multipart, $appOnlyAuth);
POST favorites/create
Favorites the status specified in the ID parameter as the authenticating user.
Twitter::postFavoritesCreate($parameters, $multipart, $appOnlyAuth);
NOTE: Not all functions and Facade APIs documented
License
This package is open-sourced software licensed under The BSD 3-Clause License