1

PHP を使用して JSON クエリを Twitter の API に送信し (POST メソッドを使用)、位置情報データを取得するための基準の 1 つとして位置情報座標を含めています。返された JSON の結果から、特定の値を変数として保存して MySQL に渡します (最初に文字列に変換します)。JSON の結果を取得することに成功し、ブラウザーで緯度/経度データを表示できますが、それらを正常に取得/保存することはできませんでした。以下のコードは、他のすべてのフィールド (text、created_at など) を取得するために機能します。どんな助けでも大歓迎です。

これは、JSON の結果をデコードしたり、各フィールドに変数を割り当てたり、変数を MySQL に送信したりするコードの一部です。

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

1 に答える 1

0

Twitter API docoは、geoフィールドが非推奨になっていることを示しているため、これからフィールドを調べたいと考えていますcoordinates

このフィールドはオプションであるため、null の可能性があります。ただし、場所でフィルタリングしているため、これはほとんどありません。存在する場合は、次のようなものを取得する必要があります。

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 に答える