我使用curl在php中使用userless access
方法调用foursquare api。
foursquare端点venues search
应该支持无用户访问。
$city = urlencode($city);
$location= urlencode($location);
$url = 'https://api.foursquare.com/v2/venues/search?query=' . $location . ' &near=' . $city . '&v=20130815&client_id=xxx&client_secret=xxx';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = json_decode(curl_exec($ch), true);
回应:
[code] => 400
[errorType] => invalid_auth
[errorDetail] => Missing access credentials. See https://developer.foursquare.com/docs/oauth.html for details.
afaik,使用'无用户访问'方法不需要oauth。我包括客户端ID和秘密。 那么为什么我会收到'invalid_auth'错误?
如果我在浏览器中输入$ url的输出,我会得到正确的答案。如果我硬编码$ url,那么curl会返回正确的响应。那么为什么动态$ url会生成auth错误?
答案 0 :(得分:1)
解决方案:
' &near='
应为'&near='
-argh