2011-06-30 23 views
12

TÜM kullanıcılardan FQL ile beğeni alıyorum. Aşağıda, denediğimi ve her teşebbüsle ilgili sorunları kapsayan araştırmam.FQL ile bir kullanıcının tüm beğenilerini (tümünü) alın

1) En basit yöntem, uid'deki tabloyu sorgulamak olabilir. Yani bu, benim için 57 (benim için) diğer akışında hoşlanır.

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

XML

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

yukarıda mantıklı bir adım gibi görünüyor, ama Facebook doesn't index the user_id field yüzden fazla ayrıntı almak için aşağıdaki kodu kullanamazsınız (post_id açıklanamayan olmadığına dikkat) buna benzer. Bu kod çalışmıyor. Grafik API kullanarak

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

2): Benim///sever 95 fan sayfaları ilgili bilgileri alır, ancak fotoğraflar, videolar, bağlantılar veya çevrimdışı içerikten. Tam url geçerli:

{ 
"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) Bu FQL Yukarıdaki kodda, 95 fan sayfaları aynı döndürür: Örneğin: https://graph.facebook.com/me/likes?access_token=

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

Yani özetlemek gerekirse, ideal olarak yapardım Nesne ne olursa olsun, bir kullanıcı için her şeyi geri verebilir. Bir FQL sorgusuyla birlikte verilerle birlikte hepsini geri gönderebiliyorsam, fan sayfaları ve akış yayınları karışımıyla ilerlemeye istekliyim.

Herhangi bir öneriniz var mı? REST API'sini kullanmadan bunu yapmaya çalıştığımı ekleyeceğim çünkü (bir güne?), Bu nedenle fql.multiquery kullanmak bir seçenek değildir.

cevap

1

Üzgünüm, /likes son noktasını kullanarak bir kişinin tüm beğenilerini çekemezsiniz. Herhangi bir açık grafik nesnesi olan bir FB sayfası olan makaleleri sınırlıyoruz. Örneğin, og:typearticle olan bir açık grafik nesnesini seviyorsanız, bunu api likes bitiş noktasında döndürmeyiz.

+3

HI Jeff ama neden bir kullanıcı herkese açık olan şeylerin kendi gibilere erişim olmazdı: – ow3n

+0

@Jeff, Kafam karıştı, sen bizim app kimliği doğrulanmış kullanıcı bir aktör, film veya spor takımı ise, Facebook bizim app benzer tablo sorgulama izin verecek ve? – DMCS

+0

Hayır, makalelerin dışında bir şey için beğenileri çekebileceğinizi söylüyorum. –

2

Akımın bazılarının değil, bazılarının hepsine ulaşmak için FQL'i kullanabildim. Bkz: http://facebook.stackoverflow.com/questions/8496980/fql-like-table-not-returning-any-results

bende sorgusu:

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) Beni ben öğeleri akışı verir:

1) bana sayfadaki sevdim öğeleri beslemeleri akışı verir kendimi yayınlanmıştır benim beslemesinden sevdim ettik: sinir bozucu ne

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

ben yapamam gr olduğu Kullanıcı, Etkinlik akışı öğeleri, Arkadaş akışı öğesi, Grup akışı öğeleri vb. için akış öğelerinden hoşlanır. Her ne kadar bu kullanıcı için kabul edilen her izinim olsa da. Gizli bilgi istemediğimden değil. Elbette, kullanıcı benim app üzerinden akış öğelerini beğenip beğenebilir. Sadece, kullanıcı tarafından beğenilen mevcut akış öğelerinin tam listesini sorgulayamıyorum.Kullanıcıların başkasının (özel) resmin sever mantıklı sınırlandırılması,

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

Mükemmel cevabı bekliyorum. Yine de gelmek isterim ki ... – ow3n

0

bu FQL sorgu deneyin? Temelde bu, reddit veya stumbleupon ile aynıdır, bir kullanıcının sosyal ağda çevrimiçi okuduğu şeyleri takip etmesine izin verir.
İlgili konular