Facebook分享按钮显示不相关的标题,描述和图像

时间:2015-12-13 18:29:21

标签: asp.net facebook facebook-like meta-tags

我知道有很多这样的问题,但我无法回答。所以决定问一个新的。我有一个显示活动的网站,我想在Facebook上分享这个活动,所以它应该创建一个包含当前事件标题,描述和图像的共享框。

我已将facebook SDK包含在正文部分中:

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function () {
        FB.init({
            appId: '843460125752678',
            xfbml: true,
            version: 'v2.5'
        });
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

我把facebook喜欢的按钮包含在某处:

<div class="fb-like" data-href="http://mywebsite.com" data-layout="button_count" data-action="like" data-show-faces="true" data-share="true"></div>

我想在Page_Load

中添加代码隐藏的元标记
        HtmlMeta hm7 = new HtmlMeta();
        hm7.Attributes.Add("property", "fb:app_id");
        hm7.Content = "my id here";
        this.Header.Controls.Add(hm7);

        HtmlMeta tag = new HtmlMeta();
        tag.Attributes.Add("property", "og:title");
        tag.Content = lblTitle.Text;
        Page.Header.Controls.Add(tag);

        HtmlMeta tag1 = new HtmlMeta();
        tag1.Attributes.Add("property", "og:description");
        tag1.Content = "Click for more info";
        Page.Header.Controls.Add(tag1);

        HtmlMeta tagurl = new HtmlMeta();
        tagurl.Attributes.Add("property", "og:url");
        tagurl.Content = "http://www.mywebsite.com";
        Page.Header.Controls.Add(tagurl);

        HtmlMeta tagimg = new HtmlMeta();
        tagimg.Attributes.Add("property", "og:image");
        tagimg.Content = "some image url";
        Page.Header.Controls.Add(tagimg);

但是当我点击分享按钮时,标题出现为&#34;在此处输入您的标题&#34;,描述为&#34;您的描述来到这里&#34;并且它一直将我的网站徽标作为图像。

可能是什么问题?看起来我正在设置元标记两次..首先在html中,然后在代码隐藏中。但即使我从html中删除标签,它仍会提供相同的输出。

更新:我尝试在facebook中调试代码,并收到以下警告消息

1.&#39; og:url&#39;应明确提供属性,即使可以从其他标记推断出值。 2.&#39; og:url&#39;应明确提供属性,即使可以从其他标记推断出值。 3.&#39; og:description&#39;应明确提供属性,即使可以从其他标记推断出值。 4.&#39; og:image&#39;应明确提供属性,即使可以从其他标记推断出值。

和错误消息如下:

fb:app_id还没有包含在元标记中。指定应用ID,以便将与Facebook共享的故事正确归因于该应用。或者,可以在打开共享对话框时在URL中设置app_id。否则,将分配默认应用程序ID(966242223397117)。

1 个答案:

答案 0 :(得分:0)

First of all, delete meta tag for OpenGraph (og:title, og:description, so on) from your design code. Then try to change Page.Header.Controls to this.Header.Controls.

Make sure that you inserted javascript code as soon as body section begins. If still does not working, try to use the next code to make a link to share:

Share via:&nbsp;<a class="text-capitalize" href="http://www.facebook.com/share.php?u=your_site.com">Facebook</a>

Hope it helps. If still will not work, make a comment to this answer, we will check again.