5

Facebook でユーザーのすべての友達の現在の場所を取得しようとしていますが、実際の Facebook ページで「Lives in , . " このエラーの難しい部分は、おそらく ~30% のケースでしか発生しないことです。残りのケースでは、すべての正しい情報が取得され、権限がおそらく正しく設定されていることがわかります。

具体的には、私が使用している FQL コードは次のとおりです。

SELECT uid,
       name,
       current_location
FROM   USER
WHERE  uid IN (SELECT uid2
               FROM   friend
               WHERE  uid1 = Me())

これと同じ問題は、javascript リクエストをグラフに直接行うときに発生したため、FQL の問題でもないようです。current_location が時々失敗して NULL を報告する理由を知っている人はいますか?

ありがとうございました。

4

5 に答える 5

2

プライバシー設定は、Facebook API よりも優先されます。

ユーザーがプライバシー設定から特定の情報を制限している場合、ユーザーがその許可を与えたとしても、Facebook API (グラフ、FQL、Rest API) でそれを取得することはできません。

例えば

プライバシー設定で誕生日の共有を制限している場合、アプリが誕生日を求めても、誕生日を取得することはできません。

また、ユーザーはアプリが特定の情報を取得するのを制限できます。

たとえば、ユーザーはアプリxyzが必要なものすべてにアクセスできるようにすることができますが、同時にユーザーはアプリxyzが自分の位置情報にアクセスすることを制限できます

これがあなたの質問に答えることを願っています。

于 2012-05-28T22:17:27.003 に答える
0

2 つの可能性があります。current_location null を持つユーザーの友達:

1) Facebook のプロフィールで現在地を指定していない

2) Facebook のプロフィールで現在の場所を指定したが、プライバシー設定で表示されない

于 2012-05-04T08:47:35.177 に答える
0

ここで同じ問題。私は友人の誰も current_location または hometown_location を取得できません。ほとんどの場合、プロフィールにアクセスすることで簡単に確認できます。アプリのアクセス許可 friends_location と friends_hometown が設定されています。

于 2013-04-12T08:24:28.770 に答える
0

このクエリを試して、友達の現在地を取得してください

SELECT first_name,uid, last_name, current_location.name 
FROM user 
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND current_location

また、このクエリを実行するにはfriends_location権限が必要です

于 2014-02-02T13:42:48.180 に答える
0

私も同じ問題を抱えてる。

私の友人である2人の異なるユーザーをチェックしました。

どちらの場合も、FQL クエリは次のようになります。

select uid, first_name, name, birthday, birthday_date, current_address, current_location, hometown_location, sex from user where uid in (select uid2 from friend where uid1 = me()

nullを返しますhome_location

両方のアカウントと自宅の場所がすべてのユーザー (プライバシーとアプリのプライバシー設定の両方) にアクセスできることを確認しました。

私のアクセス トークンには、必要なすべてのアクセス許可が含まれていました (他の友人の自宅の場所が表示されました)。

次に、クエリを使用して FQL コンソールを実行します。

select uid, first_name, name, birthday, birthday_date, current_address, current_location, hometown_location, sex from user where uid = nnnn

所有者として、結果は次のとおりです。

  • 所有者は自宅の場所を取得しました。
  • 私の古い FQL コンソール ブラウザ タブでは、まだホーム ロケーションがありません。
  • 新しい FQL コンソールのブラウザ タブで、自宅の場所を取得しました。

しばらくして、古い FQL コンソールで自宅の場所を取得しました。

しかし、古いクエリはまだ自宅の場所を返しませんでした...

FB側のキャッシングの問題のようです。

于 2013-01-23T14:25:43.243 に答える