2012-08-03 80 views
0

如何閱讀我的朋友被標記的地方? 我發現這樣,但這個例子不適合我。Facebook API - FQL - 如何閱讀朋友被標記的地方

或者我有一塊

SELECT page_id, author_uid FROM location_post WHERE xxfriendIDxx IN tagged_uids ?? 

{ 
"my_friends":"SELECT uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me() ORDER BY rand() LIMIT 100)", 
"their_locations":"SELECT page_id, author_uid FROM location_post WHERE tagged_uids IN (SELECT uid FROM #my_friends) LIMIT 100", 
"those_places": "SELECT page_id, name, location FROM page WHERE page_id IN (SELECT page_id FROM #their_locations)" 
} 

THX幫忙查件!

+0

我試圖用facebook的圖搜索找到這個。我需要爲我正在使用的項目執行相同的查詢。這是通過Facebook圖搜索進行搜索時的網址。它可能會提供一些幫助。 https://www.facebook.com/search/ /places/me/friends/places-visited/intersect – dseibert 2013-07-19 13:34:01

回答

2

下面的查詢會給你所有你的朋友被標記的地方。

SELECT page_id, name, location FROM page WHERE page_id IN (SELECT page_id FROM location_post WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1=me()))

確保您已啓用friends_photos,friends_checkins和friends_status權限。

+0

不幸的是,您的查詢會給我在由我的朋友創建的帖子中的位置。他們的朋友創建的帖子中的地方怎麼樣? – Adam 2012-08-03 13:38:00

+0

我不認爲這是可能的,因爲您沒有權限查看朋友的朋友帖子。 – Neil 2012-08-03 15:07:28

0

我無法得到的任何數據,直到我改變了你their_locations子查詢到這一點:

SELECT page_id, author_uid FROM location_post WHERE 
    tagged_uids IN (SELECT uid FROM #my_friends) 
    OR author_uid IN (SELECT uid FROM #my_friends) 
    LIMIT 100 

它仍然沒有返回的某個位置標記的職位,我可以看到使用/FRIEND_USERNAME/locations

還有其他我知道的朋友總是發佈位置標記的項目,但他們的隱私設置必須禁止API返回這些項目。

0

您需要user_tagged_places權限。 API V-4

<?php 
//permissions array 
    echo '<li><a href="' . $helper->getLoginUrl(array('user_tagged_places')) . '"> Login With Facebook</a></li>'; 
//call field 
    echo '<pre>' . echo $graphObject['tagged_places'] . '</pre>'; 
?> 
相關問題