richweber/yii2-twitter
最新稳定版本:1.0.2
Composer 安装命令:
composer require richweber/yii2-twitter
包简介
Yii2 extension to the Twitter API
README 文档
README
Twitter Oauth Library
Installation
The preferred way to install this extension is through composer.
Either run
$ php composer.phar require richweber/yii2-twitter "dev-master"
or add
"richweber/yii2-twitter": "dev-master"
to the require section of your composer.json file.
Usage
Component Configuration
'components' => [ ... 'twitter' => [ 'class' => 'richweber\twitter\Twitter', 'consumer_key' => 'YOUR_TWITTER_CONSUMER_KEY', 'consumer_secret' => 'YOUR_TWITTER_CONSUMER_SECRET', 'callback' => 'YOUR_TWITTER_CALLBACK_URL', ], ... ],
Authenticate application
<?php namespace app\controllers; use Yii; use yii\web\Controller; use yii\helpers\Url; class SiteController extends Controller { public function actionIndex() { $twitter = Yii::$app->twitter->getTwitter(); $request_token = $twitter->getRequestToken(); //set some session info Yii::$app->session['oauth_token'] = $token = $request_token['oauth_token']; Yii::$app->session['oauth_token_secret'] = $request_token['oauth_token_secret']; if ($twitter->http_code == 200){ //get twitter connect url $url = $twitter->getAuthorizeURL($token); //send them return $this->redirect($url); } else { //error here return $this->redirect(Url::home()); } } } ?>
Callback action
<?php namespace app\controllers; use Yii; use yii\web\Controller; use yii\helpers\Url; class SiteController extends Controller { public function actionTwitterCallBack() { /* If the oauth_token is old redirect to the connect page. */ if (isset($_REQUEST['oauth_token']) && Yii::$app->session['oauth_token'] !== $_REQUEST['oauth_token']) { Yii::$app->session['oauth_status'] = 'oldtoken'; } /* Create TwitteroAuth object with app key/secret and token key/secret from default phase */ $twitter = Yii::$app->twitter->getTwitterTokened(Yii::$app->session['oauth_token'], Yii::$app->session['oauth_token_secret']); /* Request access tokens from twitter */ $access_token = $twitter->getAccessToken($_REQUEST['oauth_verifier']); /* Save the access tokens. Normally these would be saved in a database for future use. */ Yii::$app->session['access_token'] = $access_token; /* Remove no longer needed request tokens */ unset(Yii::$app->session['oauth_token']); unset(Yii::$app->session['oauth_token_secret']); if (200 == $twitter->http_code) { /* The user has been verified and the access tokens can be saved for future use */ Yii::$app->session['status'] = 'verified'; //get an access twitter object $twitter = Yii::$app->twitter->getTwitterTokened($access_token['oauth_token'],$access_token['oauth_token_secret']); //get user details $twuser= $twitter->get("account/verify_credentials"); //get friends ids $friends= $twitter->get("friends/ids"); //get followers ids $followers= $twitter->get("followers/ids"); //tweet $result=$twitter->post('statuses/update', ['status' => "Tweet message"]); } else { /* Save HTTP status for error dialog on connnect page.*/ //header('Location: /clearsessions.php'); return $this->redirect(Url::home()); } } } ?>
License
yii2-twitter is released under the BSD 3-Clause License. See the bundled LICENSE.md for details.
统计信息
- 总下载量: 27.6k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2015-02-10