Javascript Facebook Sharer-标题和摘要定制

Javascript Facebook Sharer-标题和摘要定制,javascript,facebook,social-networking,facebook-sharer,Javascript,Facebook,Social Networking,Facebook Sharer,我在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 }}{{

我在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" />

我唯一能改变的两件事就是显示的url和图片。Facebook sharer忽略标题和摘要。我在网上搜索了一个小时,没有找到适合我的解决方案

有人知道facebook共享器是否不再工作了吗?自定义标题和摘要有什么解决方案吗

谢谢


编辑

现在我使用og元标记,但仍然有一个问题。我希望每个页面都有不同的标题,我需要通过Javascript获取标题(我通过js更改了“og:title”内容),但似乎更改生效太晚了,因为Facebook只获取标题中静态的部分

我有点像:

<meta property="og:title" content="TitlePage" /> 

并通过js更改内容,使之类似

<meta property="og:title" content="TitlePage SOMETHINGELSE" /> 

这一变化效果不错,没有问题,但正如我所说,facebook没有检测到这种变化


编辑2


我已经回答了我自己的问题,因为我找到了一个解决方案,以旧的方式进行共享,但需要一个应用程序才能使代码正常工作。

好吧,我和你的情况类似。。。带有自定义标题和描述的sharr.php在几天前还在运行,从那以后,只有OG metada出现了,当它们存在的时候

如果可以,我建议您使用sharer URL的官方版本,它现在只接受查询字符串中的共享URL,例如:

然后,您必须在页面上设置Open Graph元数据

您可以使用Facebook的调试页面检查Facebook如何处理您的页面:

编辑:

官方不再支持sharer.php URL中的自定义参数:

Ibrahim Faour-Facebook的开发者支持工程师

我们已经改变了sharer插件的行为,使其与我们平台上的其他插件和功能保持一致

共享者将不再接受自定义参数,facebook将从url OG元标记中提取预览中显示的信息,其方式与在facebook上显示为帖子的方式相同


使用适当的Open Graph元标记设置页面

这应该适用于facebook共享脚本。 当人们在facebook上发布直接链接而不使用共享按钮时,这也将显示正确的标题、图像和页面描述

<meta property="og:title" content="title" />
<meta property="og:description" content="description" />
<meta property="og:image" content="thumbnail" />

我建议您查看facebook文档
我同意其他答案,请使用

  • 但是,如果它不起作用,请确保您的URL是公开可见的
  • 如果它仍然不起作用,并且你绝对确定你的元标记是正确的,这意味着Facebook缓存了你的页面
  • 要删除Facebook缓存,请转到Facebook对象调试器页面并粘贴链接。通过这样做,Facebook将强制刷新其缓存,并向您显示元标记的值。这会解决你的问题

  • 解决此问题的最简单方法是使用“提要”对话框:

    我也在另一个问题中发布了这一点,因为我今天浪费了很多时间试图弄明白这一点。希望它能解决某人的时间问题。 您需要应用程序Id。

    Facebook Sharer,无需打开图形元标记 经过这么长时间,我改变了正确的答案,因为在一个新项目中,我不得不以旧的方式做同样的事情,我最终通过在facebook上创建一个简单的应用程序,使代码正常工作:

    此示例应用程序的信息:

    应用程序ID:Facebook应用程序标识符
    :这将是我的域名

    要做到这一点,需要Facebook应用程序

    要创建您的facebook应用程序,您需要注册为开发者,并通过访问下一个链接创建应用程序:


    顺便问一句,有人知道更多情况吗?php?s=100 url是否仍将得到支持???显然,FB改变了它的工作方式:我几乎尝试了所有方法,在你建议的页面之前我访问过,但我什么也没找到。我是一名web开发人员,在共享一个页面时显示标题和摘要非常重要,每个页面都有不同的标题和摘要。。。谢谢你的尝试无论如何我做了“适当的”研究,我在几个小时内搜索,你可以查看我的个人资料,我不习惯提问,我可以保证的是,我检查了几个网站,并尝试了几种方法,即使使用og元标记,标题和摘要也会被忽略。谢谢你这么有建设性的评论和讽刺的说话方式,非常有用不用担心,我也是一个网络开发人员,但对FB和G+元数据还不熟悉。仅供参考,最后我通过feed对话框分享了我的观点:您可以得到与share.php几乎相同的结果。。没有任何OpenGraph标签!但缺点是你需要一个应用程序。你说的话和以前的人一样,我试着使用开放图元标记,但它们不起作用。我检查过这些网站,但没有任何东西对我有效。你有一个我可以查看的实时页面吗?它仍在开发中,项目在我电脑上的虚拟机中,直到项目的最后阶段,它还没有上传到服务器OK,这可能是问题的一部分。要阅读元标记,facebook需要能够打开你的页面来阅读它们。我正在使用该工具,但仍然存在javscript问题。你为什么不能直接在页面渲染上设置OG元标记?还有,你有可以查看的实时/打开页面吗?你是最棒的人!!!这样我就不必使用那个愚蠢的sdk,只要用这个url显示一个webview,就可以了!谢谢我的感觉和你一样!这里唯一的一件事是,你需要在facebook上创建一个应用程序,但在你的web应用程序中很容易管理。阅读你传递的链接后,它是easi之一
    $('#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);
        });