我正在四处寻找我所在地区的场地。我无法使搜索功能起作用。 这是关于它的文档,
我相信我的问题出在http请求中,但我不明白为什么=结果总是为null或者如何从这里解决问题。
这是我的搜索表单,
<div class="row">
<div class="col-sm-6 text-center">
<div class="signup-form">
<form class="clearfix" action="actions/fsSearch.php" method="post">
<div class="form-group">
<h3>sup bro</h3>
<input type="text" class="form-control" name="query" placeholder="do iT">
</div>
</div>
<button type="submit" name="submit" value="post" class="btn btn-huge btn-info">Search For Places!</button>
</form>
</div>
</div>
这是我的搜索foursquare脚本,
<?php
$client_id = "foo";
$secret = "foo";
$redirect = "http://www.example.com/sandbox";
$query = $_POST['query'];
$fsSearch = file_get_contents("https://api.foursquare.com/v2/venues/search
?client_id=" . $client_id . "
&client_secret=" . $secret . "
&v=20140623
&ll=40.7,-74
&query=".$query);
$searchResults = json_decode($fsSearch,true);
header("Location: http://www.example.com/sandbox");
?>
然后当我var_dump($searchResults);
我得到null
结果。
我在这里看不出我做错了什么......
这是我尝试使用Curl
<?php
$client_id = "foo";
$secret = "foo";
$redirect = "http://www.example.com/sandbox";
$query = $_POST['query'];
echo $query;
$ch = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => "https://api.foursquare.com/v2/venues/search?client_id={$client_id}&client_secret={$secret}&v=20140623&ll=40.7,-74&query={$query}",
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0'
));
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);
?>
答案 0 :(得分:2)
我知道这已经很晚了,但我只是通过删除你的API请求中的换行符来实现这一点,并且想要提交这个包装,任何人都可以通过谷歌来到这里(就像我一样!)
改变这个:
$fsSearch = file_get_contents("https://api.foursquare.com/v2/venues/search
?client_id=" . $client_id . "
&client_secret=" . $secret . "
&v=20140623
&ll=40.7,-74
&query=".$query);
对此:
$fsSearch = file_get_contents("https://api.foursquare.com/v2/venues/search?client_id=" . $client_id . "&client_secret=" . $secret . "&v=20140623&ll=40.7,-74&query=".$query);