【问题标题】:How to fetch/embed facebook's photos/videos/statuses?如何获取/嵌入 Facebook 的照片/视频/状态?
【发布时间】:2013-09-19 08:42:13
【问题描述】:

我正在尝试嵌入 Facebook 的照片、视频甚至状态,但我无法从 Facebook 获取任何内容,

例如,我正在尝试嵌入此照片帖子:https://www.facebook.com/photo.php?fbid=441525965965373&set=a.310879465696691.71407.295546697229968&type=1&theater

首先(尝试 oEmbed 服务):

  • Facebook 不支持oEmbed 接口
  • 另外,我认为 Facebook 正在阻止网络抓取

因此,Noembed(或Embedly)等一些服务可以很好地嵌入来自 Twitter、Youtube 甚至其他不支持 oEmbed 接口的网站的内容,但它们不会从 Facebook 检索任何内容,例如,尝试使用以下方式调用服务:

http://noembed.com/embed?url=https%3A%2F%2Fwww.facebook.com%2Fphoto.php%3Ffbid%3D441525965965373%26set%3Da.310879465696691.71407.295546697229968%26type%3D1%26theater

将给予:

{
    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 获取它时:

http://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20html%20WHERE%20url='https%3A%2F%2Fwww.facebook.com%2Fphoto.php%3Ffbid%3D441525965965373%26set%3Da.310879465696691.71407.295546697229968%26type%3D1%26theater'%20and%20xpath='//meta|//title|//link'%20and%20compat='html5'&format=json

它不会提供任何东西,您甚至可以在YQL console 中尝试它

问题是:

到底怎么会有人从 Facebook 获取任何东西?

【问题讨论】:

    标签: facebook facebook-javascript-sdk web-scraping urlfetch oembed


    【解决方案1】:

    最后 :),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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      • 2011-04-14
      • 2015-10-11
      • 2016-10-28
      • 2020-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多