jcroll/foursquare-api-client
基于Guzzle构建的PHP Foursquare Api客户端
v3.0.2
2017-02-08 14:47 UTC
Requires
- php: >=5.5
- guzzlehttp/guzzle: ~6
- guzzlehttp/guzzle-services: ^1.0
Requires (Dev)
- phpunit/phpunit: ~4.8|^5
README
在此处找到此库的Symfony Bundle。
为什么?
目前还没有库可以用来通过foursquare api与Guzzle HTTP客户端库进行交互。Guzzle非常棒,为构建Web服务客户端提供了许多优秀功能。Guzzle已完全单元测试,这使得该库可以作为Guzzle核心的轻量级包装。您可以在此处了解更多关于Guzzle的信息。
安装
JcrollFoursquareApiClient可在Packagist(jcroll/foursquare-api-client)上找到,并可通过Composer进行安装。
如果您不使用Composer,您可以从GitHub获取代码,并使用任何PSR-4兼容的自动加载器(例如Symfony ClassLoader组件)来加载库的类。
Guzzle版本
此包与不同的Guzzle版本兼容(见下文)
Composer示例
在composer.json中添加JcrollFoursquareApiBundle
{ "require": { "jcroll/foursquare-api-client": "~3" } }
下载库
$ php composer.phar update jcroll/foursquare-api-client
安装后,您需要在代码中的某个位置要求Composer的自动加载器
require_once 'vendor/autoload.php';
用法
use Jcroll\FoursquareApiClient\Client\FoursquareClient; $client = FoursquareClient::factory([ 'client_id' => 'your_foursquare_client_id', // required 'client_secret' => 'your_foursquare_client_secret', // required 'version' => 20140806, // optional 'mode' => 'foursquare', // optional (one of 'foursquare' or 'swarm') ]); $client->setToken($oauthToken); // optionally pass in for user specific requests $client->setMode('swarm'); // switch from mode 'foursquare' to 'swarm' $command = $client->getCommand('venues/search', [ 'near' => 'Chicago, IL', 'query' => 'sushi' ]); $results = (array) $client->execute($command); // returns an array of results
您可以在组件的client.json中找到客户端可用命令的列表,但基本上它们应该与文档中列出的api端点相同。
Oauth集成
需要通过foursquare进行授权的foursquare API端点将需要使用Oauth 2.0协议进行授权。
如果您使用的是HWIOAuthBundle与Symfony,您可以安装JcrollFoursquareApiBundle以自动集成到您的Oauth请求中。
否则,Oauth协议授权超出了此库的范围,但您可以在此处找到可能的库列表。授权后,您可以将访问令牌传递给客户端以进行用户特定访问。