ktamashun / callisto
Twitter流式API的PHP库
Requires
- php: 7.1.*
- psr/http-message: 1.0.1
- psr/log: 1.0.2
Requires (Dev)
- phpunit/phpunit: 6.*
This package is not auto-updated.
Last update: 2024-09-28 20:44:03 UTC
README
Twitter流式API的PHP库。
Twitteer流式API文档: https://dev.twitter.com/streaming/overview
安装
安装Callisto最简单的方法是使用composer
$ composer require ktamashun/callisto
用法
创建Twitter应用
首先访问https://apps.twitter.com/ 创建一个新的Twitter应用。要验证Twitter流式API,你需要一个CONSUMER_KEY
、CONSUMER_SECRET
、ACCESS_TOKEN
和一个ACCESS_TOKEN_SECRET
。这些可以在你应用的“密钥和访问令牌”选项卡中找到。
运行示例
示例可以在examples
目录中找到。
该目录包含一个示例配置文件:env.sample.php
。使用它来创建一个本地的env.local.php
,并用你应用中的CONSUMER_KEY
、CONSUMER_SECRET
、ACCESS_TOKEN
和ACCESS_TOKEN_SECRET
常量填充。
运行示例最简单的方法是使用Docker容器。从项目的根目录运行此命令
$ docker run -it --rm -v $(pwd):/www/ -w /www/examples php:7.1-alpine php filter_example.php
使用过滤器流
\Callisto\RequestParameters
命名空间中有五种过滤器类型。
FilterLevel
:这可以用来过滤掉在演示中不合适的推文。Follow
:你可以使用此参数跟踪特定用户的活动。Language
:过滤使用一种或多种给定语言编写的推文。Location
:过滤在特定地理区域编写的推文。请仔细阅读有关位置过滤的Twitter文档。Track
:你可以跟踪特定单词。
你可以在Twitter API文档中详细了解过滤器参数。
示例用法
$oauth = new \Callisto\Oauth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); $stream = new \Callisto\Stream\Filter($oauth); $stream->setRequestParameters( [ // Track custom phrases new Callisto\RequestParameter\Track(['twitter']), // Filter Tweets by language new Callisto\RequestParameter\Language(['en', 'de']), // Filter tweets from New York or San Francisco new Callisto\RequestParameter\Location( [ [-74, 40, -73, 41], [-122.75, 36.8, -121.75, 37.8], ] ), // Follow specific users new Callisto\RequestParameter\Follow(['123456789', '987654321']), // Set filter level for the stream new Callisto\RequestParameter\FilterLevel(Callisto\RequestParameter\FilterLevel::LOW) ] ); foreach ($stream->readStream() as $jsonStatus) { echo $jsonStatus; }
版本控制
此库遵循SemVer v2.0.0。
测试
此库使用PHPUnit进行测试。你可以像这样运行测试
$ ./vendor/phpunit/phpunit ./tests
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。