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拉了文档。
Answers:
您所说的是共享链接时Facebook提取的预览图像和文本。Facebook使用开放图谱协议获取此数据。
本质上,您要做的就是将这些og:meta
标签放在您要共享的网址上-
<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 Debugger测试这些更改。它会告诉您是否犯了任何错误(以及如何纠正错误!)
更新:
就像@ jack-marchetti在他的评论中所述,以及@devantoine带有链接:https : //developers.facebook.com/x/bugs/357750474364812/
由于易卜拉欣·福尔(Ibrahim Faour)答复了与Facebook一起提交的错误,Facebook改变了sharer.php的工作方式。
共享者将不再接受自定义参数,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文章找到了这个:
想要Facebook中的自定义标题/图片/描述来自Flash应用程序的共享链接
这个链接包含在Lelis718的答案中:
因此,所有人都将这个答案归功于Lelis718。
[2013年5月3日编辑]-似乎我在此处使用的原始网址不再对我有用,而在查询字符串中也未包含“ s = 100”-不知道为什么,但已经进行了相应更新
您可以通过URL使用“馈送对话框”来模拟Sharer.php的行为,但是要复杂一些。您需要一个Facebook App设置,并配置您打算共享的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对话框(设置除外)的唯一缺点是,如果您还管理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>
不要使用空格,请使用 
。