是否可以使用一个应用程序几个喜欢?

时间:2013-11-21 12:53:23

标签: facebook

我有一张photoalbum,我想允许Facebook用户喜欢几张照片。 例如,我有一张photoalbum,有5张照片。我想要这样的东西:

  • a.jpg(12人喜欢)
  • b.jpg(23人喜欢)
  • c.jpg(3个人喜欢)

可以使用单一注册申请吗?

1 个答案:

答案 0 :(得分:0)

根据您的应用,有几种方法可以执行此操作。

如果您未对应用中的用户进行身份验证,则表示您已为每个图片生成网址,然后为每个图片插入相似的按钮。例如,您可以在应用中创建名为photo.php的页面,该页面会获取ID并显示该图像。然后,您可以为每个图片添加相似的按钮,并将URL设置为应用中的照片网址:

<div class="fb-like" 
    data-href="http://apps.facebook.com/myapplication/photo.php?id=1" 
    data-layout="button_count" data-action="like" data-show-faces="false" 
    data-share="false">
</div>

<div class="fb-like" 
    data-href="http://apps.facebook.com/myapplication/photo.php?id=2" 
    data-layout="button_count" data-action="like" data-show-faces="false" 
    data-share="false">
</div>

<div class="fb-like" 
    data-href="http://apps.facebook.com/myapplication/photo.php?id=3" 
    data-layout="button_count" data-action="like" data-show-faces="false" 
    data-share="false">
</div>

如果图片在Facebook相册中,那么通过这些按钮获得的图片将不会计入Facebook相册中的照片。此外,如果您希望在每个喜欢的用户时间轴中显示漂亮的详细信息,那么您应该确保在photo.php页面上包含相关的Open Graph元标记。您可以从照片ID动态生成这些内容。没有身份验证,就无法为Facebook对象(如照片)生成类似Facebook的按钮。

如果您正在对用户进行身份验证,那么您可以采用不同的方式进行身份验证 - 您可以将其设置为使应用程序中收到的内容实际上计入照片在Facebook相册中的相似内容。您将需要“publish_actions”权限以及“publish_stream”。使用jQuery,您可以将类似于下面的事件绑定到您自己的自定义按钮:

$('#LikePhoto1').click(function(){
    $.ajax({
       type: 'POST',
       url: 'https://graph.facebook.com/PHOTO_OBJECT_ID/likes?method=POST&format=json&access_token=ACCESS_TOKEN',
       success: function(res) {
        alert('liked');
        }
    });
});

您需要找到与该相册中该照片相关的PHOTO_OBJECT_ID - 我建议您使用Graph API Explorer执行此操作。此外,您需要将URL中的ACCESS_TOKEN设置为当前经过身份验证的用户的访问令牌。

因为这是一个自定义按钮,它不显示喜欢的数量等 - 您需要使用URL https://graph.facebook.com/PHOTO_OBJECT_ID/likes?access_token=ACCESS_TOKEN

从Graph API查询