jcroll/foursquare-api-client

基于Guzzle构建的PHP Foursquare Api客户端

v3.0.2 2017-02-08 14:47 UTC

README

Build Status Total Downloads Monthly Downloads Latest Stable Version License

在此处找到此库的Symfony Bundle

为什么?

目前还没有库可以用来通过foursquare apiGuzzle 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协议授权超出了此库的范围,但您可以在此处找到可能的库列表。授权后,您可以将访问令牌传递给客户端以进行用户特定访问。