我正在为一个非营利组织开展宣传活动。我们要求人们将他们举着牌子的照片上传到非营利组织的 Facebook 页面。由于它们没有在时间轴上清楚地显示,我们希望抓取这些照片并将它们显示在非营利组织网站的页面上。
获取所有照片很容易。我正在使用以下 FQL 来获取它们:
SELECT post_id, actor_id, message, attachment, place, created_time
FROM stream WHERE source_id = PAGE_ID and source_id <> actor_id
AND attachment.media <> '' AND created_time > 1338834720
LIMIT 50
问题是,人们上传到网站的其他照片我们不希望在此图库中出现。我想做的是进一步过滤这个结果集,这样我们只得到页面或页面管理员喜欢或评论过的照片。这就是我卡住的地方。
当我将其转换为多查询并将上述查询的结果输入:
SELECT post_id FROM like WHERE user_id = PAGE_ID AND post_id IN (SELECT post_id FROM #query1)
我收到一个 OAuth 错误,我只能像登录用户一样查询。即使在使用 PHP SDK 作为应用程序进行身份验证时也会发生这种情况。
我曾尝试让人们在发布时在他们的消息中添加一个文本字符串,但这并没有发生。有些人将这个字符串添加到非营利组织不想要的照片中,而非营利组织眼中最好的照片中没有那个字符串。
谢谢你的帮助。