Reputation: 25
In my canvas app I've specified that I want to recieve all photos available to me (taken by me or shared with me) which have both "friend1" and myself tagged. I have permissions for user_photos and friends_photos.
My FQL query is as follows:
SELECT object_id FROM photo WHERE
(object_id IN (SELECT object_id FROM photo_tag WHERE subject="friendID"))
AND
(object_id IN (SELECT object_id FROM photo_tag WHERE subject="myID"))
What I'm seeing:
I am indeed consistently receiving a set of 3 photos which have both me and friend1 tagged, but not all of them! I know there are more photos (12 in total) which have the both of us tagged because I can access them through the normal facebook "see friendship" page.
The only pattern I'm seeing is that the owners of the received photos are not in the set of owners of the 9 photos I'm not receiving. In other words, I'm getting all photos from some friends, and no photos from other friends. All 12 photos are shared with me.
My result does not have any paging tags, so this is all the information returned.
The result is exactly the same in the API explorer and in practice.
What I want to see: all the photos with me and friend1 tagged.
Concerns:
Is there a problem with my query, from a syntax point of view?
Can photos "shared with me" not be accessible with permission:"friends_photos" in some special cases?
Or is there another aspect of the FQL tables that I'm not addressing - should I look at other tables like "album"?
Could this be an issue with my access token - I assume since I'm getting anything at all that my authorization is good?
I know I've asked about 5 questions here, but any help at all would be greatly appreciated, and please let me know if I should include any more information. Many thanks!
Upvotes: 0
Views: 478
Reputation: 11852
The photos are probably not accessible through the API. If the owner has restricted the photo's visibility, or the photo's owner has blocked app access to their data, Facebook will not return this information via the API.
Assuming you know the third party who took the photos, you can take a look to see the publicity level of the post, and also ask them if they've blocked apps.
Keep in mind, that when working with the Facebook API, you'll never get ALL of anything. You'll take what Facebook gives you and be happy about it.
You won't get paging links in FQL. You will only see those in Graph API queries.
Upvotes: 1