1

我正在使用 PHP 向 Twitter 的 API 提交 JSON 查询(​​使用 POST 方法),并将地理位置坐标作为标准之一,以便取回地理位置数据。从返回的 JSON 结果中,我将特定值存储为变量以传递给 MySQL(首先转换为字符串)。我已经成功地获得了 JSON 结果,并且可以在我的浏览器中看到纬度/经度数据,但无法成功获取/存储它们。下面的代码适用于获取所有其他字段(文本、created_at 等)。任何帮助,将不胜感激。

这是我正在解码 JSON 结果/为每个字段分配变量/将变量发送到 MySQL 的代码部分。

$data = mysql_real_escape_string($tweet->{'status'}->{'geo'});
4

1 回答 1

0

Twitter API doco指出该字段geo已被弃用,因此您希望从现在开始查看该coordinates字段。

该字段是可选的,因此它可能为空。但是,由于您是在位置上进行过滤,所以这应该不太可能。如果它存在,你应该得到这样的东西:

var_dump($tweet->coordinates);

// Output:
object(stdClass)[5]
  public 'type' => string 'Point' (length=5)
  public 'coordinates' => 
    array
      0 => float -99.98741865
      1 => float 21.9250252

如果没有,你只会得到null. 要获得推文的纬度/经度,您应该能够:

if ($tweet->coordinates != null) {
    $long = $tweet->coordinates->coordinates[0];
    $lat = $tweet->coordinates->coordinates[1];
}
于 2012-07-23T23:30:20.437 回答