0

fbgraphのバグかどうかはわかりません。実際にはそうではないと確信していますが、Facebookのイベントの中には地図が表示されるものがある理由を理解したいのですが、FbGraphでそれらを取得すると、返された会場には会場情報がありません

私がやっている:

FbGraph::Event.fetch("1314214...", access_token: "ABABZ...")

そして、レスポンスの一部である会場は

@venue=#<FbGraph::Venue:0x007f8657de20a8 @latitude=nil, @longitude=nil, @street=nil, @city=nil, @state=nil, @zip=nil, @country=nil>

何故ですか?

4

1 に答える 1

1

イベントの作成者が地理的位置データを提供しなかった場合でも、Facebookは地図を表示します。したがって、位置データを受け取らないのは、イベント作成者がデータを提供したことがないためです。

追加:以下の議論からの関連情報...

Facebookは、特定のアドレスを緯度/経度に変換することでそのアドレスのマップを描画する場合がありますが、プログラマーとしてのあなたはそれらの座標にアクセスできません。Facebookは、ユーザーが具体的に座標を入力した場合にのみ座標を返します(通常は地図上の点を選択します)。

追加:おそらく上記は間違っています...

あなたの質問を読み直した後、私の答えがあなたの状況に当てはまらないかもしれないことに気づきました。Facebookが実際に行っているのは、ロケーションIDを返し、その場所に関する情報を照会するのはあなたに任されているようです。Facebookは、住所、都市、州などの個々のデータフィールドを含むデータベースにイベントを保存していたことに注意してください。ただし、Facebookは場所IDのみを保存するようにゆっくりと移行しているようです。(ただし、プログラマーが利用できるフィールドはまだあります)。

以前は、通り、都市、州などを使用してプログラムでイベントを作成できました。現在、指定できるフィールドは場所IDのみです。同じことがイベントページのイベント作成フロントエンドにも当てはまります。Facebookが認識できる場所を見つける必要があります。単に任意のアドレスを入力することはできません。

ただし、プログラムでイベントを作成し、Facebookから編集する場合は、アドレスを手動で入力できることがわかります。

于 2012-03-30T21:35:54.753 に答える