2012-01-05 2 views
7

Sto cercando di ottenere le foto di un utente è stato marcato a sto usando la query:FQL - Ottenere pid delle foto utente è stato marcato a dà risultati diversi con differenti interrogazione

SELECT pid 
FROM photo 
WHERE pid 
IN (SELECT pid FROM photo_tag WHERE subject=me()) 

Il numero di risultati. che ottengo è 32. Tuttavia quando si esegue questa query:

SELECT pid FROM photo_tag WHERE subject=me() 

il numero di risultati che ottengo è 67. questo è il numero mi aspetto, perché in cui sono taggato in 67 immagini, non solo 32. che cosa sto facendo sbagliato con la query?

risposta

1

È possibile che tu sia taggato in foto che non sono accessibili utilizzando l'attuale access_token. Prendi uno degli ID foto dalla lista più grande che non vedi nell'elenco più piccolo e prova ad accedervi usando quel token di accesso.

+0

Hi! Ho usato uno degli ID foto e ho cercato di ottenere le informazioni nella mia app ios e ho ottenuto una stringa vuota come risultato (nemmeno un errore). C'è un modo per testare le query FQL al di fuori della mia app? –

+0

In realtà ho usato la console di test e ho provato una query "SELECT src FROM photo WHERE object_id = workingid" e ho ottenuto il risultato, mentre quando ho provato con l'id che non funziona, ho ottenuto la stringa vuota []. –

+0

sì, utilizzare lo strumento grafico API Explorer: https://developers.facebook.com/tools/explorer '/ fql? Q =' – DMCS

0

Ho lo stesso problema. La proprietà della foto non sembra essere il problema. Sono in grado di vedere alcuni pid (nella query esterna) di proprietà dei miei amici.

Eseguo la query interna per ottenere tutti i pid in cui sono un 'oggetto'. Quando provo a recuperare i dettagli (pid, object_id, subject ecc.) Per alcuni di questi pid, ottengo una stringa vuota. Non penso che sia un problema di autorizzazione. Ho abilitato sia "user_photos" che "friend_photos" e sto utilizzando il token di accesso corretto.

Ho provato a esaminare le differenze tra queste poche foto ostinate. Alcuni temi comuni: 1) caricati da un dispositivo mobile 2) in comune con un "Custom" lista di amici

Ma io non sono stato in grado di Root Cause ancora.

+0

Hai provato a ottenere gli object_id corrispondenti a quei pid e recuperarli attraverso l'explorer GraphAPI come tale (https://graph.facebook.com/object_id). L'unica cosa che mi viene restituita è "False" –

+0

Ho appena visto questo [collegamento] (http://stackoverflow.com/questions/7544904/facebook-fql-photo-tag-table-not-returning-all-appropriate- fotografie). Sebbene sia possibile abilitare le autorizzazioni "user_photos" e "friend_photos", alcuni utenti fb possono scegliere di non condividere nessuna delle loro foto, post, ecc. Con le applicazioni che utilizzano l'API di Facebook Graph. Sarai in grado di vedere le foto (in cui sei taggato) pubblicate da tali utenti sul tuo profilo, ma la tua app non sarà in grado di accedervi utilizzando l'API. Questo è probabilmente. –

1

tavolo photo_tag contiene le foto in cui il vostro sono contrassegnati, tavolo foto contiene foto caricata da te

Nella tua situazione, vi sono contrassegnati in 67 foto, e 32 di 67 foto sono state caricate da voi, gli altri sono caricato da qualcun altro (e tu sei taggato).

0

mi aiuta a ottenere foto in io insieme con o contrassegnati con gli amici lungo tag con friendnumid1, friendnumid2

select caption,comment_info.comment_count,like_info.like_count,src,link from photo WHERE owner =me() and pid IN (SELECT pid FROM photo_tag WHERE subject in (friendnumid1,friendnumid2)) order by like_info.like_count desc limit 10