私のウェブサイトには、約100枚の画像しかない小さなギャラリーがあります。Facebookユーザーが画像を「いいね」して、これが自分の壁に表示され、すべての友達がその画像を見ることができれば、すばらしいでしょう。これがFacebookで可能かどうかはわかりません。多分誰かが知っていますか?
1 に答える
あなたがやろうとしていることは可能ですが、あなたはそれについて少し違った考え方をしなければなりません。クエリ文字列またはURL情報に基づいて、ページ上に開いているグラフタグを動的に作成する必要があります。すべての画像が同じページにある場合は、次のようにします。私のページがhttp://www.example.com/photos.phpだとします。まず、このページに「いいね」ボタンをすべて追加します。各画像には、次のような独自の「いいね」ボタンがあります。
<fb:like href="http://www.example.com/photos.php?id=###"></fb:like> (where ### is the id of the photo)
さて、fb likeで何が起こるかというと、ユーザーがhref urlがfacebookに送信されるようにクリックすると、facebookは実際にそのurlに開いているグラフデータを読み取るように要求します。したがって、ここで、動的なオープングラフデータを提供する動的なページを作成する必要があります。
したがって、各画像について?id = ###は、次のようにページに適切なオープングラフタグを表示します。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://opengraphprotocol.org/schema/"
xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>The Rock (1996)</title>
<meta property="og:title" content="The Image Name"/>
<meta property="og:type" content="image"/>
<meta property="og:url" content="http://www.example.com/photos.php?id=###"/>
<meta property="og:image" content="http://www.example.com/img/myimg.jpg"/>
<meta property="og:site_name" content="My Site Name"/>
<meta property="fb:admins" content="USER_ID"/>
<meta property="og:description" content="A cool image I made"/>
...
</head>
...
</html>
したがって、FacebookがURL http://www.example.com/photos.php?id=###にリクエストを送信すると、og:imageタグが読み取られ、その画像がFacebookへの投稿とともに画像として表示されます。それに応じて他のプロパティも使用します。
これが理にかなっているのか、質問がある場合はお知らせください。