saturn / twarpy
一个简单小巧的PHP库,用于访问Twitter REST API
2.0.1
2015-12-22 11:43 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-14 17:48:25 UTC
README
一个简单的PHP库,用于使用3-Legged OAuth或仅应用令牌访问Twitter的REST API(v1.1)。
要求
- PHP >= version 5.3。
- Curl扩展。
安装
有两种方式安装Twarpy。如果你更喜欢使用composer,只需在项目的根目录下在终端运行以下命令
$ composer require saturn/twarpy
你也可以在composer.json文件中将它作为依赖项包含,然后运行composer update
{
"require": {
"saturn/twarpy": "^2.0"
}
}
你也可以直接下载源代码并将其手动包含到项目目录中,或者克隆此存储库
$ git clone git://github.com/pkrll/Twarpy.git
如果你已使用Composer安装了Twarpy,你可以使用自动加载器
use Twarpy\Twarpy; include __DIR__ . "/vendor/autoload.php";
用法
- 第一步是在Twitter上注册你的应用程序。
- 复制消费者密钥和消费者密钥(永远不要将这些密钥与任何人分享)。
使用3-Legged OAuth
- 使用3-Legged OAUth流程允许应用程序代表用户读取或发布到Twitter。但用户必须对每个请求进行认证。
- 要使用此认证方法初始化Twarpy,你需要之前收集的消费者密钥和密钥令牌以及一个oauth令牌和oauth密钥。如果用户尚未认证应用程序,他们将被重定向到Twitter.com。在授权后,应用程序将收集新授予的访问令牌(请记住,通过使用方法
getAccessToken()
检索令牌后保存令牌,以便用户不需要手动对每个请求进行认证)。 - 创建一个新的Twarpy对象,包含一个包含配置的数组和一个表示认证方法的常量
$config = array( "consumer_key" => "YOURCONSUMERKEY", "consumer_secret" => "YOURCONSUMERSECRET" ); $Twarpy = new Twarpy($config, THREE_LEGGED); // Save the oauth token and oauth token secret The next time you // run Twarpy for that user you can include the tokens in the config array. $tokens = $Twarpy->getAccessToken(); // returns array("access_token" => ???, "token_secret" => ???)
- 下次你想代表该用户进行API调用时,可以在
$config
-数组中包含检索到的令牌
$config = array( "consumer_key" => "YOURCONSUMERKEY", "consumer_secret" => "YOURCONSUMERSECRET", "access_token" => "YOURACCESSTOKEN", "token_secret" => "YOURSECRETTOKEN" ); $Twarpy = new Twarpy($config, THREE_LEGGED);
使用仅应用认证
- 应用仅认证方法与3-Legged方法类似,但不需要用户认证应用程序。此认证方法不允许进行需要用户上下文的请求,例如创建或删除推文。
- 要使用此认证方法初始化Twarpy,你需要之前收集的消费者密钥和密钥令牌。
- 创建Twarpy对象,并使用常量
APP_ONLY
作为第二个参数
$config = array( "consumer_key" => "YOURCONSUMERKEY", "consumer_secret" => "YOURCONSUMERSECRET" ); $Twarpy = new Twarpy($config, APP_ONLY); $tokens = $Twarpy->getAccessToken(); // returns array("access_token" => ???)
- 保存访问令牌以加快请求速度,并将其包含在
$config
-数组中,键为access_token
(请注意,此方法不需要密钥令牌)。
$config = array( "consumer_key" => "YOURCONSUMERKEY", "consumer_secret" => "YOURCONSUMERSECRET", "access_token" => "YOURACCESSTOKEN" ); $Twarpy = new Twarpy($config, APP_ONLY);
进行请求
向Twitter API发送请求非常简单。你需要的是HTTP方法(GET/POST)、API路径以及如果需要,参数数组。请参考Twitter API文档以获取可用的请求。
$params = array("screen_name" => "twitter"); $data = $Twarpy->request('statuses/user_timeline', 'GET', $params);
示例请求
use Twarpy\Twarpy; include __DIR__ . "/vendor/autoload.php"; $config = array( 'consumer_key' => "YOURCONSUMERKEY", 'consumer_secret' => "YOURCONSUMERSECRET", 'access_token' => 'YOURACCESSTOKEN', 'token_secret' => 'YOURSECRETTOKEN' ); try { $twarpy = new Twarpy($config, THREE_LEGGED); $tweet = array("status" => "Testing Twarpy! #Twarpy"); $data = $twarpy->request('statuses/update', 'POST', $tweet); print_r($data); } catch (Exception $e) { print_r($e->getMessage()); }
作者
- Twarpy是Ardalan Samimi的杰作。