0

在我的网站上,我有一个只有大约 100 张图片的小画廊。如果 facebook 用户可以“喜欢”一张图片,这样它就会出现在他们的墙上,并且他们的所有朋友都能看到这张图片,那就太棒了。我不确定facebook是否可以做到这一点。也许有人知道?

4

1 回答 1

2

您尝试做的事情是可能的,但您必须以不同的方式思考它。您将需要根据一些查询字符串或 url 信息在页面上动态创建打开的图形标签。如果你所有的图片都在同一个页面上,你会做这样的事情:假设我的页面是http://www.example.com/photos.php。首先,将所有喜欢的按钮添加到此页面。每张图片都有自己的like按钮,如下所示:

<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 回答