socialh4ck/twitter

本包最新版本(1.0)的许可证信息不可用。

一个简单的Laravel 4服务提供者,用于包含TwitterOAuth库。

1.0 2014-07-13 02:22 UTC

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_KEYCONSUMER_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();
}