第一次用php设置foursquare api

时间:2011-02-08 10:09:41

标签: php oauth foursquare

我试图通过foursquare api获得场地。我尝试的步骤是:

  • 注册了我的应用;
  • 获取access_token;
  • 下载foursquare-aync库

这是我尝试使用的代码,但它不起作用:

require_once("Api_Foursquare_EpiCurl");
require_once("Api_Foursquare_EpiFoursquare");
require_once("Api_Foursquare_EpiSequence");

$fsObj = new EpiFoursquare($clientId, $clientSecret, $accessToken);
$venue = $fsObj->get('/venues/search', array('ll' => "{$myLat},{$myLng}"));

特别是我不理解我在注册中设置的回调的功能。 谢谢!

2 个答案:

答案 0 :(得分:1)

回调URL是Foursquare在成功通过Foursquare服务进行身份验证后指导用户的位置。因此,如果您正在进行本地开发(例如使用WAMP + php),请将回调地址设置为http://localhost/YOUR_PAGE_NAME.php

所以会发生什么事情;

  • 有人访问您的信息页
  • 您的页面会通过链接提示他们 这指向Foursquare(此链接中包含您的应用程序的clientId + secret,让foursquare知道此用户希望订阅您的应用程序)
  • Foursqaure提示用户登录 并允许申请请求 访问
  • Foursquare重定向并传递一个 令牌回到外部 应用程序,此令牌可以 用于所有后续请求 代表用户

    我希望这有所帮助。

虽然我注意到你可能正在使用这个教程 - http://www.joesiewert.com/2010/04/how-to-use-the-foursquare-api-with-oauth-and-php/

现在已经过时了。我也发现在过去的几天里,Foursquare异步库也给我带来了错误,我不知道为什么。我已在这里寻求帮助; http://groups.google.com/group/foursquare-api/browse_thread/thread/cd258a78d8073f86/ed5ff3f9fed206ed#ed5ff3f9fed206ed

安迪

答案 1 :(得分:1)

我得到了它的工作:

$consumer_key = 'YOURS';
$consumer_secret = 'YOURS';

//Includes the foursquare-asyc library files                                                                       
require_once('EpiCurl.php');
require_once('EpiSequence.php');
require_once('EpiFoursquare.php');

try{
  $foursquareObj = new EpiFoursquare($consumer_key, $consumer_secret);
  $venue = $foursquareObj->get('/venues/search',array('ll'=>'{your-lat},{your-long}'));
  var_dump($venue);
} catch (Execption $e) {
  //If there is a problem throw an exception                                                                       
}

从4Square转储预期的loc数据。

我正在使用2011年1月6日的EpiCurl,EpiSequence和2011年2月25日的EpiFoursquare版本。