0

我正在从 facebook 群组提要中提取墙贴,但我唯一感兴趣的是 youtube 嵌入 ID。研究 Facebook 的 Graph API,我看不出是否有更简单的方法可以直接提取 youtube 嵌入?

我目前的解决方案似乎有点沉重,因为群墙上有 3000 多个帖子。

更新:据我所知,我需要获取元数据,因为 youtube 嵌入链接实际上并未显示在提要中。

这就是我解析组提要的方式,知道如何在此处获取 youtube 链接的元数据附件吗?

require '../src/facebook.php';

$appId = 'appid'; //appid from facebook
$secret = 'secretid'; //secret from facebook
$groupId = 'groupid'; //facebook groupid

$facebook = new Facebook(array(
  'appId'  => $appId,
  'secret' => $secret,
  'cookie' => true
));

$response = $facebook->api('/'.$groupId.'/feed', array('limit' => 600, 'fields'=>'from,message, created_time'));    
print "<div class='facebook-feed-title'>Facebook Feed</div>";
foreach ($response['data'] as $value) {
    print "<div class='facebook-from'><a href='http://www.facebook.com/home.php?#!/profile.php?id=".$value['from']['id']."'>".$value['from']['name']."</a> wrote:</div>";
    print "<div class='link'>".$value['message']."</div>";        
}
4

2 回答 2

1

在图形 api 响应提要中,每个帖子都有一个参数调用“类型”。对于视频,它将是

“类型”:“视频”

您可以从“源”参数中获取视频链接。然后将该链接添加到您的管嵌入代码中。

<iframe width="420" height="315" src="Youtube_source_link" frameborder="0" allowfullscreen></iframe>
于 2012-04-09T10:51:38.987 回答
0

虽然这个问题已经 3 岁了,但我昨晚为此苦苦挣扎,并遇到了这个问题。

我找到了解决方案,所以我在这里发布,以防其他人找到线程。

在 API 2.4 中,您可能无法取回所有字段,但您可以明确指定特定字段。例如:/%post-id%?fields=link,created_time 将返回帖子的创建时间和链接字段 - 包括嵌入的 youtube 链接。

重读上面的代码,我认为在字段子句中添加“链接”可能就足够了......

于 2015-07-20T18:30:52.117 回答