socialh4ck / twitter
本包最新版本(1.0)的许可证信息不可用。
一个简单的Laravel 4服务提供者,用于包含TwitterOAuth库。
1.0
2014-07-13 02:22 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
- socialh4ck/twitteroauth: dev-master
This package is not auto-updated.
Last update: 2024-09-24 03:04:34 UTC
README
一个简单的Laravel 4服务提供者,用于包含TwitterOAuth库。
安装
可以通过Composer通过在项目中的composer.json中要求“socialh4ck/twitter": "dev-master"包来安装TwitterOAuth服务提供者。
{ "require": { "laravel/framework": "4.2.*", "socialh4ck/twitter": "dev-master" }, "minimum-stability": "dev" }
接下来,您需要发布包配置
php artisan config:publish socialh4ck/twitter
您可以在app/config/packages/socialh4ck/twitter/config.php
中设置您的CONSUMER_KEY
和CONSUMER_SECRET
。
<?php return array( 'CONSUMER_KEY' => '<your-app-key>', 'CONSUMER_SECRET' => '<your-app-secret>' );
最后,您需要注册服务提供者和别名。查找app/config/app.php
中的providers
并注册它。
'providers' => array( // ... 'Socialh4ck\Twitter\TwitterServiceProvider', )
然后对别名做同样的操作
'aliases' => array( // ... 'Twitter' => 'Socialh4ck\Twitter\Facades\Twitter', )
用法
为了访问API,您需要让您的用户授权您的应用程序。为此,用户需要重定向到Twitter。
// Visit http://site.com/twitter-redirect Route::get('twitter-redirect', function(){ // Reqest tokens $tokens = Twitter::oAuthRequestToken(); // Redirect to twitter Twitter::oAuthAuthenticate(array_get($tokens, 'oauth_token')); exit; });
一旦用户已经授权了您的应用程序,他们将被重定向回您在Twitter应用程序设置中定义的回调URL。您需要注册该路由并捕获验证器令牌
// Redirect back from Twitter to http://site.com/twitter-auth Route::get('/twitter-auth', function(){ // Oauth token $token = Input::get('oauth_token'); // Verifier token $verifier = Input::get('oauth_verifier'); // Request access token $accessToken = Twitter::oAuthAccessToken($token, $verifier); });
Twitter将返回类似以下的信息
array (size=4)
'oauth_token' => string 'WFkvKyUG6K4-Vqntts8U4xQFzNHgNEAFTFMPxHH6fvQYwYsbuu' (length=50)
'oauth_token_secret' => string 'RfVY4hwV7JeKe9WeQqpMUjLqZvKhZuhKp2wmN3MsKM' (length=43)
'user_id' => string '123456789' (length=8)
'screen_name' => string 'Philo01' (length=7)
您应该将这些信息存储起来,以便将来能够访问授权用户。请参阅/vendor/socialh4ck/Socialh4ck/Twitter/Twitter.php
的源代码以了解所有可用方法。
示例
try{ $oAuth = User::find(1); // Get the tokens and twitter user_id you saved in the previous step // Setup OAuth token and secret Twitter::setOAuthToken($oAuth->oauth_token); Twitter::setOAuthTokenSecret($oAuth->oauth_token_secret); // Get tweets $timeline = Twitter::statusesUserTimeline($oAuth->user_id); // Display tweets dd($timeline); } catch(Exception $e) { // Error echo $e->getMessage(); }