http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.google.com
如何自定义文本和图像。看起来 Facebook 取消了文档。
http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.google.com
如何自定义文本和图像。看起来 Facebook 取消了文档。
您所说的是 Facebook 在您共享链接时提取的预览图像和文本。Facebook 使用开放图形协议来获取这些数据。
本质上,您所要做的就是将这些og:meta
标签放在您要共享的 URL 上 -
<meta property="og:title" content="The Rock"/>
<meta property="og:type" content="movie"/>
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/>
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
<meta property="og:site_name" content="IMDb"/>
<meta property="fb:admins" content="USER_ID"/>
<meta property="og:description"
content="A group of U.S. Marines, under command of
a renegade general, take over Alcatraz and
threaten San Francisco Bay with biological
weapons."/>
如您所见,既有图像属性又有描述。当您更改页面og:meta
标签时,您可以使用Facebook 调试器测试这些更改。它会告诉您是否犯了任何错误(以及如何修复它们!)
更新:
就像@jack-marchetti 在他的评论中所说的那样,以及带有链接的@devantoine:https ://developers.facebook.com/x/bugs/357750474364812/
Facebook 改变了 sharer.php 的工作方式,因为 Ibrahim Faour 回复了 Facebook 提交的错误。
共享者将不再接受自定义参数,Facebook 将从 url OG 元标记中提取在预览中显示的信息,就像它在 facebook 上显示为帖子一样。
试试这个(在这个例子中通过 Javascript):
'http://www.facebook.com/sharer.php?s=100&p[title]='+encodeURIComponent('this is a title') + '&p[summary]=' + encodeURIComponent('description here') + '&p[url]=' + encodeURIComponent('http://www.nufc.com') + '&p[images][0]=' + encodeURIComponent('http://www.somedomain.com/image.jpg')
我在没有图像部分的情况下快速尝试了这个,sharer.php 窗口出现了预填充,所以它看起来像一个解决方案。
我通过这篇 SO 文章找到了这个:
想要来自 Flash 应用程序的 Facebook 共享链接中的自定义标题/图像/描述
这个链接包含在 Lelis718 的回答中:
所以这个答案归功于 Lelis718。
[编辑 2013 年 5 月 3 日] - 似乎我在这里的原始 URL 不再适用于我,而在查询字符串中也不包括“s = 100” - 不知道为什么但已相应更新
您可以通过 URL 使用 Feed Dialog 来模拟 Sharer.php 的行为,但它有点复杂。您需要一个 Facebook 应用程序设置,其中包含您计划共享的 URL 的基本 URL 配置。然后您可以执行以下操作:
1)创建一个链接,如:
http://www.facebook.com/dialog/feed?app_id=[FACEBOOK_APP_ID]' +
'&link=[FULLY_QUALIFIED_LINK_TO_SHARE_CONTENT]' +
'&picture=[LINK_TO_IMAGE]' +
'&name=' + encodeURIComponent('[CONTENT_TITLE]') +
'&caption=' + encodeURIComponent('[CONTENT_CAPTION]) +
'&description=' + encodeURIComponent('[CONTENT_DESCRIPTION]') +
'&redirect_uri=' + FBVars.baseURL + '[URL_TO_REDIRECT_TO_AFTER_SHARE]' +
'&display=popup';
(显然将 [CONTENT] 替换为适当的内容。此处的文档:https ://developers.facebook.com/docs/reference/dialogs/feed )
2) 单击共享链接,使用 JavaScript 在弹出窗口中打开该链接
3)我喜欢创建文件(即popupclose.html)以在用户完成共享后将其重定向回,该文件将包含<script>window.close();</script>
关闭弹出窗口
使用 Feed Dialog(除了设置)的唯一缺点是,如果您也管理 Pages,则无法选择通过 Page 共享,只有普通用户帐户可以共享。它会给你一些非常神秘的错误消息,其中大部分与你的 Facebook 应用程序的设置或你分享的内容或 URL 的问题有关。
Sharer.php 不再允许您自定义。您共享的页面将被抓取以获取 OG 标签,并且该数据将被共享。
要正确自定义,请使用FB.UI
JS-SDK 附带的。
Facebook sharer.php 用于分享帖子的参数。
<a href="javascript: void(0);"
data-layout="button"
onclick="window.open('https://www.facebook.com/sharer.php?u=MyPageUrl&summary=MySummary&title=MyTitle&description=MyDescription&picture=MyYmageUrl', 'ventanacompartir', 'toolbar=0, status=0, width=650, height=450');"> Share </a>
不要使用空格,使用 
.