我有一个lat,很久就像这样保存了,
$lat_value = $_REQUEST['latitude'];
$lon_value = $_REQUEST['longitude'];
将变量添加到$getfield String
时,
$getfield = '?q=test&geocode='.$lat_value.','.$lon_value.',1mi&count=100';
我一直收到这个错误,
"You must provide valid coordinates, IP address, query, or attributes." }
如果这是一个语法错误,有人可以解释为什么这对我不起作用。
完整的请求和响应代码,
<?php
error_reporting(E_ALL);
$lat_value = $_REQUEST['latitude'];
$lon_value = $_REQUEST['longitude'];
require_once('TwitterAPIExchange.php');
/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
'oauth_access_token' => "XXX",
'oauth_access_token_secret' => "XXX",
'consumer_key' => "XXX",
'consumer_secret' => "XXX"
);
$url = 'https://api.twitter.com/1.1/geo/search.json';
$getfield = '?q=test&geocode='.$lat_value.','.$lon_value.',1mi&count=100';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
// Response from twitter
$response = $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
var_dump(json_decode($response));
答案 0 :(得分:0)
根据documentation所说,你必须指定lat,long,ip或query,而你没有指定任何一个。我在查询字符串中看不到任何这些参数。
尝试使用此查询:
$getfield = "query=test&lat={$lat_value}&long={$lon_value}&accuracy=1m&max_results=100"