2013-07-19 84 views
0

在我的應用程序中,我需要檢查用戶是否喜歡帖子。爲此,我正在使用FQL查詢FQL查詢以查看用戶是否喜歡帖子

SELECT object_id FROM like WHERE object_id=postid AND user_id = me() 

對於大多數帖子,此工作正常,它會返回喜歡帖子的post_id。不過,我發現如果喜歡的帖子張貼在頁面上而不是朋友發佈,這不起作用(不會返回post_id)。因此,如果我喜歡發佈由網頁發佈的帖子,以及由朋友發佈的帖子b,則該查詢只會說帖子b被喜歡。

奇怪的是,當我運行一個查詢,看到所有的職位用戶喜歡

SELECT object_id FROM like WHERE user_id = me() 

兩個職位A和B表現爲喜歡。不過,我希望避免對用戶喜歡查找用戶是否喜歡該帖子的100多個帖子進行排序,並且獲得完整列表的響應時間可能會更長。有沒有辦法讓查詢顯示所有喜歡的帖子(不管是誰發佈的)?或者,這是一個限制或錯誤使用API​​

回答

1

要檢查用戶是否喜歡,我們需要得到的數據形式的流表,而不是如表後,請按照以下要求

Request : 
NSURL *requestURL = [NSURL URLWithString:@"https://graph.facebook.com/fql"]; 
NSMutableDictionary * params1 = [NSMutableDictionary 
dictionaryWithObjectsAndKeys:[NSString stringWithFormat: 
@"SELECT likes FROM stream WHERE post_id = '%@'", 
postID],@"q",facebookOfflineAccessToken,@"accessToken",nil]; 

在響應我們將獲得喜歡和user_likes文件的總計數

Response : 
"user_likes" = 0 //for not liked,  
"user_likes" = 1 //for like 
相關問題