Facebookの共有ボタンを雇用主のサイトに統合しようとしています。タイトル、URL、説明/イントロがすべて正しく表示されていますが、画像が添付されていません。共有ダイアログが開くと、Facebookが画像を処理しようとしているように、画像コンテナがちらつき、その後消えますが、失敗します。
og:imageとリンクリレーションを使用して、共有リンクに使用する画像を指定しようとしています。
<meta property="og:image" content="/images/logo_white_150px.png" />
<link rel="image_src" type="image/png" href="/images/logo_white_150px.png" />
その画像は以前は機能していましたが(適切に拡大縮小されました)、現在は機能していません。サイズと形式が異なる他の画像も試してみましたが、うまくいきませんでした。
ヘッダーで使用しているオープンメタタグは次のとおりです。
<!DOCTYPE html>
<html xmlns:fb="http://ogp.me/ns/fb#" itemscope itemtype="http://schema.org/Article" xmlns:og="http://ogp.me/ns#">
<head>
<meta property="og:type" content="landing page" />
<meta property="og:title" content="Social Media Test Page" />
<meta property="og:description" content="This is a page for testing the behavior of social media buttons..." />
<meta property="og:image" content="/images/logo_white_150px.png" />
<link rel="image_src" type="image/png" href="/images/logo_white_150px.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:url" content="<%=shortUrl%>" />
<meta property="og:site_name" content="site name" />
<meta property="og:medium" content="mult" />
</head>
本文の冒頭で使用しているJavaScriptは次のとおりです。
<body>
<script type="text/javascript">
(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/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
} (document, 'script', 'facebook-jssdk'));
</script>
...
そして、これが私がボタンをどのように使用しているかです:
<div class="left" style="text-align: center;">
<a name="fb_share" type="button" share_url="<%=shortUrl%>">Share</a>
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>
</div>
事前にクリスに感謝します。