pingpong / twitter
适用于 Laravel 的 Twitter OAuth
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-09-24 01:56:23 UTC
README
服务器要求
Require PHP 5.4+ or higher.
安装
对于 Laravel 4.*,请使用版本
1.*
。
打开您的 composer.json 文件,并添加新要求的包。
"pingpong/twitter": "~2"
接下来,打开终端并运行。
composer update
在 composer 更新后。在 app/config/app.php 中添加新的服务提供者。
'Pingpong\Twitter\TwitterServiceProvider'
接下来,添加新的别名。
'Twitter' => 'Pingpong\Twitter\Facades\Twitter',
接下来,打开终端并运行。
php artisan vendor:publish --provider="Pingpong\Twitter\TwitterServiceProvider"
完成。
配置文件
return array( 'consumer_key' => '', 'consumer_secret' => '', 'oauth_token' => null, 'oauth_token_secret'=> null, 'bearer_token' => null, 'callback_url' => url('twitter/callback'), 'fallback_url' => url('/') );
用法
授权用户。
Twitter::authorize();
认证用户。
Twitter::authenticate();
您还可以在授权或认证用户时覆盖回调 URL。
$callbackUrl = url('twitter/getcallback'); Twitter::authorize($callbackUrl); Twitter::authenticate($callbackUrl);
获取授权或认证用户后的回调。
Twitter::getCallback(); // or using `callback` method Twitter::callback();
获取账户验证凭据。
Twitter::getAccountVerifyCredentials(); // you can also specify what parameters want you use $parameters = array(); Twitter::getAccountVerifyCredentials($parameters); // or using `getCredentials` method Twitter::getCredentials($parameters);
全局 API 调用。
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);
调用 Twitter API 的辅助方法。
GET 请求
Twitter::get('/path', $parameters);
POST 请求
Twitter::post('/path', $parameters);
PUT 请求
Twitter::put('/path', $parameters);
PATCH 请求
Twitter::patch('/me', $parameters);
DELETE 请求
Twitter::delete('/me', $parameters);
设置返回格式。
Twitter::format('json'); Twitter::format('array'); Twitter::format('object');
启用和禁用 curl。
Twitter::enableCurl(); Twitter::disableCurl();
设置连接和请求超时。
Twitter::setConnectionTimeout(2000); Twitter::setTimeout(500);
允许消费者应用程序使用 xAuth 交换 OAuth 请求令牌为 OAuth 访问令牌。
Twitter::xAuth($username, $password);
设置令牌。
Twitter::setToken($oauthToken, $oauthTokenSecret);
获取 bearer 令牌。
$token = Twitter::getBearerToken();
设置 bearer 令牌。
Twitter::setBearerToken($token);
示例
认证用户。
Route::get('twitter/authenticate', function() { return Twitter::authenticate(); });
授权用户。
Route::get('twitter/authorize', function() { return Twitter::authorize(); });
获取 Twitter 回调。
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()); } });
注销用户。
Route::get('twitter/logout', function() { Twitter::logout(); return Redirect::home(); });
发布推文。
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()); } });
上传媒体。
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 资源
时间线
时间线是一组推文集合,按时间顺序排列,最近的推文排在前面。
GET statuses/mentions_timeline
返回认证用户最近的 20 条提及(包含用户 @screen_name 的推文)。
Twitter::getStatusesMentionsTimeline($parameters, $multipart, $appOnlyAuth);
GET statuses/user_timeline
返回指定用户(通过 screen_name 或 user_id 参数)发布的最新推文集合。
Twitter::getStatusesUserTimeline($parameters, $multipart, $appOnlyAuth);
GET statuses/home_timeline
返回认证用户及其关注的用户最近发布的推文和转推文的集合。
Twitter::getStatusesHomeTimeline($parameters, $multipart, $appOnlyAuth);
GET statuses/retweet_of_me
返回认证用户最近发布的、被他人转推的推文。
Twitter::getStatusesRetweetsOfMe($parameters, $multipart, $appOnlyAuth);
推文
推文是 Twitter 的原子构建块,是包含附加元数据的 140 个字符的状态更新。
GET statuses/retweets/:id
返回指定 id 参数的推文最近的 100 条转推文。
Twitter::getStatusesRetweets($id, $parameters, $multipart, $appOnlyAuth);
GET statuses/show/:id
返回指定 id 参数的单个推文。
Twitter::getStatusesShow($id, $parameters, $multipart, $appOnlyAuth);
POST statuses/destroy/:id
销毁由所需 ID 参数指定的状态。
Twitter::postStatusesDestroy($id, $parameters, $multipart, $appOnlyAuth);
POST statuses/update
更新认证用户的当前状态,也称为推文。
Twitter::postStatusesUpdate($parameters, $multipart, $appOnlyAuth);
POST statuses/retweet/:id
转推一条推文。
Twitter::postStatusesRetweet($id, $parameters, $multipart, $appOnlyAuth);
POST statuses/update_with_media
更新认证用户的当前状态并附加上传媒体。
Twitter::postStatusesUpdateWithMedia($parameters, $appOnlyAuth);
GET statuses/oembed
返回允许在第三方网站上创建推文嵌入表示的信息。
Twitter::getStatusesOembed($parameters, $multipart, $appOnlyAuth);
GET statuses/retweeters/ids
返回最多 100 个用户 ID 的集合,这些 ID 属于已转推指定 id 参数的推文的用户。
Twitter::getStatusesRetweetersIds($parameters, $multipart, $appOnlyAuth);
搜索
根据用户执行的查询查找相关的推文。
GET search/tweets
返回与指定查询匹配的相关推文集合。
Twitter::getSearchTweets($parameters, $multipart, $appOnlyAuth);
直接消息
直接消息是两个用户之间发送的简短、非公开消息。
Twitter::getSearchTweets($parameters, $multipart, $appOnlyAuth);
GET direct_messages
返回发送给认证用户最近的 20 条直接消息。
Twitter::getDirectMessages($parameters, $multipart, $appOnlyAuth);
GET direct_messages/sent
返回认证用户发送的最近的 20 条直接消息。
Twitter::getDirectMessagesSent($parameters, $multipart, $appOnlyAuth);
GET direct_messages/show
返回指定 id 参数的单条直接消息。
Twitter::getDirectMessagesShow($parameters, $multipart, $appOnlyAuth);
POST direct_messages/destroy
销毁在所需 ID 参数中指定的直接消息。
Twitter::postDirectMessagesDestroy($parameters, $multipart, $appOnlyAuth);
POST direct_messages/new
从认证用户向指定用户发送一条新的直接消息。
Twitter::postDirectMessagesNew($parameters, $multipart, $appOnlyAuth);
收藏
用户收藏推文以认可精彩的推文,整理Twitter的精华,保存以备后读,以及其他各种原因。同样,开发者以多种方式使用“收藏”功能。
GET favorites/list
返回认证用户或指定用户最近20次收藏的推文。
Twitter::getFavoritesList($parameters, $multipart, $appOnlyAuth);
POST favorites/destroy
取消收藏ID参数中指定的状态,作为认证用户。
Twitter::postFavoritesDestroy($parameters, $multipart, $appOnlyAuth);
POST favorites/create
将ID参数中指定的状态收藏为认证用户。
Twitter::postFavoritesCreate($parameters, $multipart, $appOnlyAuth);
注意:并非所有功能和外观API均有文档记录
许可
本软件包是开源软件,许可协议为BSD 3-Clause 许可协议