我尝试嵌入 Facebook 的照片、视频甚至状态,但无法从 Facebook 获取任何内容,
例如,我正在尝试嵌入此照片帖子:https://www.facebook.com/photo.php?fbid=441525965965373&set=a.310879465696691.71407.295546697229968&type=1&theater
首先(尝试 oEmbed 服务):
- Facebook 不支持 oEmbed接口(interface)
- 此外,我认为 Facebook 正在阻止网络抓取
一些服务如Noembed (或 Embedly )可以很好地嵌入来自 Twitter、Youtube 甚至其他不支持 oEmbed 接口(interface)的网站的内容,但它们不会从 Facebook 检索任何内容,例如,尝试使用以下方式调用服务:
将给出:
{
url: "https://www.facebook.com/photo.php?fbid=441525965965373&set=a.310879465696691.71407.295546697229968&type=1&theater",
error: "no matching providers found"
}
第二(尝试 YQL):
当尝试使用 Yahoo 的 YQL 获取它时,如下所示:
它不会给出任何结果,你甚至可以在 YQL console 中尝试它
问题是:
到底怎么可能有人从 Facebook 获取任何东西?
最佳答案
最后:),Facebook 现在支持一项新功能 enables us to embed "Public Posts" ,所以简短回答以及我们需要了解的所有信息 Embedded Posts在此链接中:
https://developers.facebook.com/docs/plugins/embedded-posts/
但要在此处嵌入答案;),让我们执行以下操作:
1- 在您的页面上包含 JavaScript SDK 一次,最好是在打开之后立即添加 <body>
标签(不要忘记将下面的 appId
替换为您自己的应用程序 ID)
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=334259852684024";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
2- 将插件代码放置在您希望插件出现在页面上的任何位置。
<div class="fb-post" data-href="https://www.facebook.com/FacebookDevelopers/posts/10151471074398553"></div>
关于facebook - 如何获取/嵌入 Facebook 的照片/视频/状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18807005/