我正在尝试提交一个查询,查询发送到用户的新闻提要(其中type=video )的特定类型的状态。我基本上希望所有的视频发布给一个用户,包括那些不是由FB主持(否则我会提交一个视频查询)。我想如果我能让FB除了视频之外什么都不回,但我肯定找不到解决办法。我看到返回的查询甚至没有包含这些信息的字段,所以我可以过滤返回的信息。流表中有什么字段可以告诉我帖子的类型吗?
以下是查询的初始起点:
SELECT post_id, from, name, source, link, picture, updated_time, comments
FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me()
AND type='newsfeed') AND is_hidden = 0
发布于 2012-02-29 06:27:40
您可以为流设置一个类型(请参见参考),但是视频(type = 128)只返回上传的视频。
SELECT post_id, source_id, actor_id, target_id, message, attachment, permalink, type
FROM stream
WHERE source_id IN (SELECT target_id
FROM connection
WHERE source_id = me() AND is_following = 1)
AND is_hidden = 0
AND type = 128
这与使用图形api (例如js:FB.api('/me/home', function(response) {} )
)相矛盾,其中type: 'video'
被赋予附加的视频链接(例如YouTube)。
然而,attachment.media字段将视频链接标识为type: video
;但这是一个数组(我不知道如何在其中查询),因此我检查了链接是否包含对youtube的引用(youtube链接可以是长形式的,也可以是缩短的,youtu.be)。
SELECT post_id, source_id, actor_id, target_id, message, attachment, permalink, type
FROM stream
WHERE source_id IN (SELECT target_id
FROM connection
WHERE source_id=me() AND is_following=1)
AND is_hidden = 0
AND type = 80
AND strpos(attachment.href, "youtu") >= 0
https://stackoverflow.com/questions/7465349
复制相似问题