如何在 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.href
和 document.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=<YOUR_URL>
。所有其他数据将从页面或(更好)从您打开的图元标记中获取:
<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 图片。description
和caption
参数似乎没有效果,但u
仍然有效。【参考方案6】:
似乎允许您注入自定义文本的唯一参数是“引号”。
https://www.facebook.com/sharer/sharer.php?u=THE_URL"e=THE_CUSTOM_TEXT
【讨论】:
以上是关于如何在 Facebook 分享者 URL 中传递标题、摘要和图像等参数的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 URL 的情况下在 facebook 上分享我的新闻
在Facebook上通过Intent分享文本而不使用Facebook sdk
如何使用 hashbang url 处理 Facebook 分享/点赞?