我正在与Django合作开发一个项目,我正在尝试在facebook和twitter上分享页面
我在Facebook上遇到问题,我想自定义共享的标题和摘要,以便在共享索引页面和任何其他页面时更改文本。
我尝试使用:
<a href='http://www.facebook.com/sharer.php?s=100&
p[title]=TITLE+TEST&
p[summary]=summary&
p[url]=http://{{ request.META.HTTP_HOST }}{{ request.path }}&
p[images][0]=http://whatever.com/media/img/img_facebook.jpg'
target="_blank">
<img src="{{STATIC_URL}}img/ico_facebook_small.png" title="Facebook" alt="Facebook" ></a>
甚至添加:
<meta property="og:title" content="My Title" />
我可以改变的唯一两件事是显示的网址和图片。 Facebook分享者忽略了标题和摘要。我在最后一小时搜索了互联网,但我找不到任何适合我的解决方案。
任何人都知道facebook分享者是否不再有效了?是否有自定义标题和摘要的解决方案?
由于
修改
现在我正在使用og meta标签,但仍有问题。我希望每个页面都有不同的标题,我需要通过Javascript获取标题(我通过js更改“og:title”内容)但似乎更改生效太晚,因为Facebook只获得了标题的一部分这是静态的。
我有类似的东西:
<meta property="og:title" content="TitlePage" />
并通过js更改内容以使其像
一样<meta property="og:title" content="TitlePage SOMETHINGELSE" />
这种改变生效并且没有问题,但就像我说的那样,facebook并没有发现这种变化。
编辑2
我已经回答了我自己的问题,因为我找到了一种以旧方式进行共享的解决方案,但需要一个应用来使代码正常工作。
答案 0 :(得分:12)
在这之后我改变了正确的答案,因为在一个新项目中,我必须以旧的方式做同样的事情,我终于通过在facebook中创建一个简单的应用程序来使这个代码正常工作:
此示例应用的信息:Facebook Send Dialog
APP_ID:Facebook应用标识符
http://www.THEPAGE.com:这将是我的域名
$('#share_button').bind('click', function(e){
e.preventDefault();
var title = 'Title I want';
var im_url = 'url_to_image';
var facebook_appID = 'YourFacebookAppID'
url = "https://www.facebook.com/dialog/feed?app_id="+ facebook_appID + "&link=" + encodeURIComponent("http://www.THEPAGE.com")+
"&name=" + encodeURIComponent(title) +
"&caption=" + encodeURIComponent('Shared from MY_PAGE') +
"&description=" + encodeURIComponent('DESCRIPTION') +
"&picture=" + encodeURIComponent("http://www.THEPAGE.com" +im_url) +
"&redirect_uri=https://www.facebook.com";
window.open(url);
});
需要Facebook应用才能执行此操作
要创建您的Facebook应用程序,您需要注册为开发人员并创建应用程序访问下一个链接:
答案 1 :(得分:8)
使用正确的Open Graph元标记设置您的页面。
这应该适用于facebooks共享脚本。 当人们在不使用分享按钮的情况下在Facebook上发布direkt链接时,这也将显示您页面的正确标题,图像和描述。
<meta property="og:title" content="title" />
<meta property="og:description" content="description" />
<meta property="og:image" content="thumbnail" />
我建议你查看facebook文档 https://developers.facebook.com/docs/web/webmasters/ https://developers.facebook.com/docs/plugins/share-button
答案 2 :(得分:6)
我同意其他答案,请使用OpenGraph Protocol
答案 3 :(得分:1)
好吧,我和你的情况类似......自定义标题和描述的sharer.php几天前就开始工作了,从那以后,只有OG metada出现了,当它们存在时!
如果可以的话,我建议你使用正式版的sharer URL,现在只接受查询字符串中的共享URL,例如:https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fparse.com
请参阅https://developers.facebook.com/docs/plugins/share-button/#faqdialog
然后,您必须在页面上设置Open Graph元数据。
您可以查看Facebook如何使用调试页面处理您的页面: https://developers.facebook.com/tools/debug/
编辑
正式不再支持sharer.php网址中的自定义参数:https://developers.facebook.com/bugs/357750474364812
Ibrahim Faour - Facebook的开发人员支持工程师
我们已经更改了sharer插件的行为,以便与我们平台上的其他插件和功能保持一致。
分享者将不再接受自定义参数,Facebook将以与在Facebook上显示的相同方式提取预览中显示的信息作为来自网址OG元标记的帖子。
答案 4 :(得分:1)
解决此问题的最简单方法是使用Feed对话框:https://developers.facebook.com/docs/sharing/reference/feed-dialog
我也在另一个问题中发布了这个问题,因为我今天浪费了几个小时试图解决这个问题。希望它能解决某人的时间问题。 你需要APP Id。