使用变量连接twitter api get请求


Concatenating twitter api get request while using variables

我有一个像这样的页面,

$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));

根据文档说明,您必须指定lat、long、ip或query,并且您没有指定它们中的任何一个。我在你的querystring中没有看到这些参数

试试这个查询:

$getfield = "query=test&lat={$lat_value}&long={$lon_value}&accuracy=1m&max_results=100"