thetwelvelabs/foursquare
Composer 安装命令:
composer require thetwelvelabs/foursquare
包简介
Foursquare API Client
关键字:
README 文档
README
A(nother) PHP Foursquare API client https://developer.foursquare.com/docs/
Installation
Composer is currently the only way to install the foursquare client into your project.
Create your composer.json file
{
"require": {
"thetwelvelabs/foursquare": "0.2.*"
}
}
Download composer into your application root
$ curl -s http://getcomposer.org/installer | php
Install your dependencies
$ php composer.phar install
Usage
Select your preferred HTTP Client (CurlHttpClient is the default)
$client = new \TheTwelve\Foursquare\HttpClient\CurlHttpClient($pathToCertificateFile);
Select your preferred Redirector (HeaderRedirector is the default)
$redirector = new \TheTwelve\Foursquare\Redirector\HeaderRedirector();
Note: The redirector is optional and is only needed if you need Foursquare authentication
Instantiate the API Gateway Factory
$factory = new \TheTwelve\Foursquare\ApiGatewayFactory($client, $redirector);
// Required for most requests
$factory->setClientCredentials('CLIENT_ID', 'CLIENT_SECRET');
// Optional (only use these if you know what you're doing)
$factory->setEndpointUri('https://api.foursquare.com');
$factory->useVersion(2);
$factory->verifiedOn(new \DateTime());
Begin authentication with Foursquare
$auth = $factory->getAuthenticationGateway(
'https://foursquare.com/oauth2/authorize',
'https://foursquare.com/oauth2/access_token',
'YOUR_REDIRECT_URL'
);
$auth->initiateLogin();
Foursquare redirects the user back to you after a successful login
$code = $_GET['code'];
// You should do some input sanitization to $code here, just in case
$token = $auth->authenticateUser($code);
Update the API Gateway Factory with your OAuth token
$factory->setToken($token);
Get an instance of an endpoint gateway
$gateway = $factory->getUsersGateway();
Get data from Foursquare
$user = $gateway->getUser();
Search venues
$gateway = $factory->getVenuesGateway();
$venues = $gateway->search(array(
'll' => '40.727198,-73.992289',
'query' => 'Starbucks',
'radius' => 1000,
'intent' => 'checkin'
));
Working With Symfony / Silex
If you're working with Symfony or Silex, you can use the Symfony HttpClient and Redirector
$client = new \TheTwelve\Foursquare\HttpClient\SymfonyHttpClient($pathToCertificateFile);
$redirector = new \TheTwelve\Foursquare\Redirector\SymfonyRedirector();
If you're working with Silex, there is a Service Provider available at https://github.com/chriswoodford/FoursquareServiceProvider
Using the CurlHttpClient
If you're using the CurlHttpClient, you will probably want to include the cacert.pem file that can be found at http://curl.haxx.se/docs/caextract.html
You can add this as a dependency in your composer file. Your composer.json might look something like this:
{
"require": {
"thetwelvelabs/foursquare": "0.2.*",
"haxx-se/curl": "1.0.0"
},
"repositories": [
{
"type": "package",
"package": {
"name": "haxx-se/curl",
"version": "1.0.0",
"dist": {
"url": "http://curl.haxx.se/ca/cacert.pem",
"type": "file"
}
}
}
]
}
You will be able to find the cacert.pem file in vendor/haxx-se/curl/cacert.pem
Contributing
See CONTRIBUTING.md
License
This library is released under the MIT License.
thetwelvelabs/foursquare 适用场景与选型建议
thetwelvelabs/foursquare 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 91.56k 次下载、GitHub Stars 达 37, 最近一次更新时间为 2012 年 11 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「foursquare」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 thetwelvelabs/foursquare 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 thetwelvelabs/foursquare 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 thetwelvelabs/foursquare 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Foursquare Api Client built on Guzzle
A PHP client library for accessing the Foursquare userless venue endpoint.
Laravel package for the simplification and integration of many of your users most wanted login providers. Installation is a breeze. Never worry about OAuth again.
Magento 2 Social Login extension is designed for quick login to your Magento 2 store without procesing complex register steps
Magento 2 Social Login Extension
Support for authenticating users using both OAuth1.0a and OAuth2 in Symfony2.
统计信息
- 总下载量: 91.56k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 38
- 点击次数: 16
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2012-11-05