0

私は基本的に、すべての Facebook の友達の故郷の情報を返そうとしています。これは私が実行したいクエリです:

SELECT name, uid, hometown_location FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me())

ただし、何らかの理由で、このクエリは MOST ユーザーの hometown_location に対して「null」を返します。はい、私の権限は正しく設定されています。

たとえば、id = 805246 のランダムなユーザーを考えてみましょう。前述のように、上記のクエリは null の出身地を返します。ただし、次のクエリは正しく hometowm_location を返します。

SELECT name, uid, hometown_location FROM user WHERE uid = 805246

これもそうです:

SELECT name, uid, hometown_location FROM user WHERE uid IN (805246, 211375, 3438)

それで、何が得られますか?

4

1 に答える 1

1

これは API のバグであり、ここにあります: https://developers.facebook.com/bugs/487611667944115 (必ずバグ投稿に移動し、再現できたことをマークしてください。修正するFB。)

同様のスタック オーバーフローの投稿をここで見つけることができます: http://facebook.stackoverflow.com/questions/14350661/facebook-api-friend-location-object-being-returned-with-empty-string-for-id-and

基本的に一括リクエスト... /me/friends?fields=id,location を使用してグラフ API をヒットするなど、場所の結果が null の一部のユーザーと、場所の実際のデータを持つ少数のユーザーのみが返されます。その後、null の場所を持つそれらの友人のいずれかを個別に要求すると、完全な結果が返されます。

これはグラフ検索のリリースに伴って発生し始めたため、関連している可能性があります。

于 2013-01-21T05:25:25.233 に答える