如何在 Facebook 分享者 URL 中传递标题、摘要和图像等参数

Posted

技术标签:

【中文标题】如何在 Facebook 分享者 URL 中传递标题、摘要和图像等参数【英文标题】:How to pass a parameter like title, summary and image in a Facebook sharer URL 【发布时间】:2014-05-04 07:50:17 【问题描述】:

问题:

我需要在 Facebook 分享者 URL 中传递标题、摘要和图片等内容,如下所示:

 <a id="button"
    href="http://www.facebook.com/sharer.php?
    s=100
    &p[url]=http://myurl.com/overview/sap-talent
    &p[images][0]=http://myurl/images/my_image.png
    &p[title]=mytitle
    &p[summary]=containsummary">

问题是它会自动从上述 URL (http://myurl.com/overview/sap-talent) 获取一些内容,而我不知道我的标题和摘要数据到哪里去了。还有其他方法可以通过facebooksharer.php 分享我的自定义标题、摘要和图片吗?

【问题讨论】:

How to use og meta tags for facebook share 可以使用。 @dbh 我使用了 og 元标记,但仍然没有显示我试图传递的标题、摘要和图像? 【参考方案1】:

我以前用过下面的,它已经奏效了。它不是很漂亮,但您可以根据需要进行更改。

以下 javascript 函数为共享者获取 location.hrefdocument.title,您最终可以更改这些。

function fbs_click() 
        u=location.href;
        t=document.title;
window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),
                'sharer',
                'toolbar=0,status=0,width=626,height=436');

            return false;
        

用法:

<a rel="nofollow" href="http://www.facebook.com/share.php?u=<;url>" onclick="return fbs_click()" target="_blank">
    Share on Facebook
</a>

您可能正在寻找以下内容:Facebook sharer title / desc....

【讨论】:

【参考方案2】:

看起来 Facebook 禁止将参数传递给共享者。

我们更改了共享插件的行为,使其与我们平台上的其他插件和功能保持一致。

共享者将不再接受自定义参数,Facebook 将提取在预览中显示的信息,就像它在 facebook 上显示为来自 url OG 元标记的帖子一样。

这是帖子的网址:https://developers.facebook.com/x/bugs/357750474364812/

【讨论】:

阅读其余的 cmets...该帖子只是一个意见。【参考方案3】:

在 Developers bugs Facebook 网站上,关于该问题的最后一个答案 (parameters with sharer.php) 让我相信这是一个将要解决的错误。我说的对吗?

https://developers.facebook.com/x/bugs/357750474364812/

Ibrahim Faour · · Facebook 平台团队

对给您带来的不便深表歉意。我们的目标是更新我们的外部报告 一旦我们得到问题的解决方案。我明白 有时提供的答案可能并不令人满意,但我们渴望 使我们的平台尽可能稳定和高效。谢谢!

【讨论】:

【参考方案4】:

您现在唯一需要的参数是?u=&lt;YOUR_URL&gt;。所有其他数据将从页面或(更好)从您打开的图元标记中获取:

<meta property="og:url"                content="http://www.nytimes.com/2015/02/19/arts/international/when-great-minds-dont-think-alike.html" />
<meta property="og:type"               content="article" />
<meta property="og:title"              content="When Great Minds Don’t Think Alike" />
<meta property="og:description"        content="How much does culture influence creative thinking?" />
<meta property="og:image"              content="http://static01.nyt.com/images/2015/02/19/arts/international/19iht-btnumbers19A/19iht-btnumbers19A-facebookJumbo-v2.jpg" />

Example & description here

您可以测试您的页面是否符合the debugger。

【讨论】:

即使从页面中获取数据,如果参数易于访问,最好还是发送参数,繁忙的网站不再需要比它已经拥有的请求了:) @Bodokh:恰恰相反。您发送的参数将被 Facebook 忽略,因为它从元标记中获取它们。发送和接收然后忽略这些 URL 参数会占用一些带宽和 CPU 周期。与观看猫视频相比,这并没有什么不同。【参考方案5】:

目前(2016 年 10 月)有效,但我无法保证它会持续多久:

https://www.facebook.com/sharer.php?caption=[caption]&description=[description]&u=[website]&picture=[image-url]

【讨论】:

7 月 10 日之后可以使用吗?因为在使用这种方法很长时间没有问题后,我注意到“有时”图像没有显示在共享对话框中,但是当张贴在墙上时会显示图像。看起来有某种超时,如果图像在超时之前尚未加载(或由 fb 处理),则图像持有者将为空。但最奇怪的问题是,在某些情况下,FB 会根据网站内容制作 OG 图片。 descriptioncaption 参数似乎没有效果,但u 仍然有效。【参考方案6】:

似乎允许您注入自定义文本的唯一参数是“引号”。

https://www.facebook.com/sharer/sharer.php?u=THE_URL&quote=THE_CUSTOM_TEXT

【讨论】:

以上是关于如何在 Facebook 分享者 URL 中传递标题、摘要和图像等参数的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 URL 的情况下在 facebook 上分享我的新闻

如何查询 Facebook 活动 URL 的分享数?

在Facebook上通过Intent分享文本而不使用Facebook sdk

如何使用 hashbang url 处理 Facebook 分享/点赞?

如何在分享我的主页 URL 时告诉 Facebook 和 Twitter 显示我的主页图像?

如何创建传递参数的自定义Facebook共享对话框?