0

私のウェブサイトには、約100枚の画像しかない小さなギャラリーがあります。Facebookユーザーが画像を「いいね」して、これが自分の壁に表示され、すべての友達がその画像を見ることができれば、すばらしいでしょう。これがFacebookで可能かどうかはわかりません。多分誰かが知っていますか?

4

1 に答える 1

2

あなたがやろうとしていることは可能ですが、あなたはそれについて少し違った考え方をしなければなりません。クエリ文字列または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への投稿とともに画像として表示されます。それに応じて他のプロパティも使用します。

これが理にかなっているのか、質問がある場合はお知らせください。

于 2010-10-19T23:03:23.103 に答える