2011-01-23 14 views

答えて

19

広範な研究をしていますが、私は結論しました。これを行う方法はありません。
アプリケーションを許可されたユーザの友人のすべてのIDを取得しfriends.getAppUsersと呼ばれる古いREST APIを:私が見つけた何

authentication documentApp Loginセクション読んだ後
::私は、私が見つけた希望は何

ユーザーログインに加えて

を、Facebookの プラットフォームのサポートアプリのログイン にOAuth 2.0のクライアントを使用して資格フロー。 アプリログインでは、 のアプリの管理操作( )を取得することができます。たとえば、Insightsデータの取得や リクエストの承認などがあります。

私はapplicationオブジェクトが(accountsに似ている)、このための直接的な方法だろうと思った:

$facebook->api("/APP_ID/users"); 

をしかし、私は間違っていました。そして、insights機能が導入されたことで、というユーザIDのしか得られないことに私はショックを受けました!

あなたは何ができる:
とすぐユーザーとして、あなたのDB内のユーザーIDを保存するアプリケーションを承認すると、あなたのアプリケーションが既に(ほとんどの場合)をユーザーがいる場合は、それぞれのレコードを持っているかどうかを確認あなたのDBであなたのアプリケーションとやりとりするユーザー...このようにすれば、アクティブなユーザーのユーザーIDをすぐに取得できます。

+2

それは余分なデータベースに格納するための最良のソリューションと思われるええ。 しかし、私はあなたがユーザーデータを保存していないといいと思っています。 イベントオーナー/クリエイターのコンテンツから1つのuidのみを取得することもできます。イベントには両方のイベントが表示されます。 –

0

もう少し詳しく - 私は基本的なグラフAPIの検索を行い、それらが私のアプリで有効であることを確認することで、私が探していた多くのuserIDを見つけることができました。

ここでは、電子メールアドレスまたはユーザー名を検索します - 同じエクスプローラのFQLクエリボタンを取り付けるようhttps://developers.facebook.com/tools/explorer?method=GET

QUERY: https://graph.facebook.com/[email protected]&type=user

あなたが試合を取得したり、複数の場合は、あなたがそれを確認することができますが有効です: -

SELECT uid FROM user WHERE uid = *USER_ID_TO_SEARCH* AND is_app_user = 1 

あなたがうまくいれば、それは有効です。これは、私が必要としていたものに手をつけてくれました。

+0

私はグラフのAPIエクスプローラから電子メールを検索する方法を理解できませんでした。どのような構文を使用しましたか?私は 'SELECT name FROM user where contact_email = [email protected]'を試みたが、電子メールが好きではないようだ –

1
GET /v2.10/{app-id}/accounts 

あなたはアプリケーション

関連する問題