2011-06-30 9 views
12

私はFQLでユーザの好きなものをすべて手に入れようとしています。私が試したことと、それぞれの試みの問題を含む私の研究は次のとおりです。FQLでユーザの好きなもの(すべて)を手に入れよう

1)最も簡単な方法は、uidのテーブルを照会することです。だから、これは57(私のために)他のストリームに好きです。

SELECT object_id, post_id, user_id 
FROM like 
WHERE user_id = me() 

XMLは、上記の本(post_idの原因不明の不在に注意してください)

<like> 
    <object_id>10150695050005313</object_id> 
    <post_id></post_id> 
    <user_id>xxxxxxxxxxx</user_id> 
</like> 

のように見える論理的なステップのように思えるが、Facebookのdoesn't index the user_id fieldはので、私はより詳細な情報を入手するには、次のコードを使用することはできません。このコードは機能しません。グラフAPIを使用して

SELECT post_id, message 
FROM stream 
WHERE post_id IN (
    SELECT object_id, post_id, user_id 
    FROM like 
    WHERE user_id = me() 
) 

2):ME// /好きな95本のファンページ上の情報を取得しますが、ない写真、動画、リンク、またはオフラインコンテンツから。完全なURLは次のとおりです。https://graph.facebook.com/me/likes?access_token=

例えば:

{ 
"data": [ 
    { 
    "name": "BStU", 
    "category": "Organization", 
    "id": "136978696319967", 
    "created_time": "2011-06-29T12:09:17+0000" 
    }, 
    { 
    "name": "Euchre", 
    "category": "Interest", 
    "id": "112355915446795", 
    "created_time": "2011-06-29T12:06:07+0000" 
    }, 

3)このFQLは、95ファンページを上記のコードと同じように返します。

SELECT page_id,name 
FROM page 
WHERE page_id IN (
    SELECT page_id 
    FROM page_fan 
    WHERE uid=me() 
) 

だから私は希望理想的には、要約しますオブジェクトに関係なく、ユーザーのためにあらゆるものを返すことができます。ファンページとストリーム投稿が混在していても、データと一緒にすべてを1つのFQLクエリで返すことができれば、私は前進していきます。

提案がありますか?私は、それが劣化する(いつか?)ので、fql.multiqueryを使用することはオプションではないため、REST APIを使用せずにこれを実行しようとしていると付け加えます。

答えて

1

申し訳ありませんが、/likesエンドポイントを使用している人のすべてのお気に入りを引き出すことはできません。私たちはFBページを持っているものに制限しています.FBページは開いているグラフオブジェクトで、記事はありません。たとえば、がarticleの開いたグラフオブジェクトが好きな場合は、グラフapi likesエンドポイントに戻しません。

+3

HIジェフを、誰か他の人の(プライベート)絵の制限ユーザーの好みには意味をなさないが、なぜユーザーは、公開されているものの彼らの同類へのアクセスを持っていないでしょうか?本質的にこれはredditやstumbleuponと同じで、ユーザーはソーシャルネットワーク内でオンラインで読んだことを追跡することができます。 – ow3n

+0

@Jeff、私は混乱しています、あなたは、私たちのアプリの認証されたユーザーが俳優、映画、スポーツチームの場合に限り、Facebookが私たちのアプリに同様のテーブルを照会させると言っていますか? – DMCS

+0

いいえ、私はあなたが記事以外の何かのために好きを引っ張ることができると言っています。 –

2

FQLを使用してストリームの好きなものすべてではなく一部を取得できました。参照してください:私が持っているhttp://facebook.stackoverflow.com/questions/8496980/fql-like-table-not-returning-any-results

クエリは、次のとおりです。

1)私を与える、私はページ上の気に入ったアイテムをストリーミングフィード:

SELECT post_id, source_id, message 
    FROM stream 
    WHERE source_id 
    IN (SELECT target_id FROM connection WHERE source_id=me() and is_following=1) 
    AND likes.user_likes=1 
    LIMIT 10 

2)は私が「ストリームのアイテムを提供します迷惑な何

SELECT post_id, source_id, message 
    FROM stream 
    WHERE source_id=me() 
    AND likes.user_likes=1 
    LIMIT 10 

は私ができないグラムです:私自身が投稿私のフィードから言っていましetユーザーは、イベントストリームアイテム、フレンドストリームアイテム、グループストリームアイテムなどのストリームアイテムから好きです。そのユーザーに対して許可されているすべてのアクセス許可があります。私は秘密の情報を求めているようではありません。当然のことながら、ユーザーは自分のアプリから好きなストリーム項目を好きにしたり削除したりすることができます。それは、ユーザーが好きだった現在のストリームアイテムの完全なリストを照会できないことです。

+0

完璧な答えを待っています。しかし、来ると思います... – ow3n

0

このFQLクエリ試してみてください。

SELECT user_id, object_id, post_id, object_type 
FROM like 
WHERE user_id = me() 
関連する問題