javascript - FB Like 无法在网站上使用照片

标签 javascript facebook facebook-graph-api facebook-like

我对网站上的 FB Like 存在疑问。我喜欢两个功能:页面帖子和页面照片。当我喜欢 FB Post 时,它会起作用,并且 Facebook 页面帖子和网站上的“喜欢”都会被计算在内。但是,当我尝试给照片点赞时,网站上的点赞计数器会增加到 1,一秒钟后就会下降到 0。

我有以下配置:

<div id="fb-root"></div>
        <script>(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&appId=111111111111111111111";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>

点赞按钮

'<fb:like href="' + urlToLike + '" send="false" layout="button_count" width="170" show_faces="false"></fb:like>';

用于帖子和照片的 URL,例如:

photoUrlToLike = 'http://www.facebook.com/photo.php?fbid=111111111111&set=a.502954436404881.121467.265145956852398&type=1&permPage=1';
postUrlToLike = 'http://www.facebook.com/mydummypage/posts/1111111111111111';

所以我的问题是,既然用户可以喜欢我网站上的帖子,为什么它不适用于照片。我在这里缺少什么?

编辑

我找到了 Facebook 照片 API:

http://developers.facebook.com/docs/reference/api/photo/

执行起来应该相当简单,但我现在几个小时都无法执行此操作。引用照片api:

likes


Create

You can like a photo by issuing a HTTP POST request to PHOTO_ID/likes connection with the publish_stream permission. No parameters necessary.

假设我的页面网址是:

http://www.facebook.com/dummypage

我的照片 ID 是 4234234234131。照片位于虚拟页面的墙上。

我的帖子网址是什么样的?我应该向哪个 Url 发出 POST 请求?

最佳答案

我最近也被同样的问题困扰。经过几个小时的学习后,我明白这不是我的代码或我这边的任何问题的问题。这是一个小错误,甚至已报告给 Facebook。请检查这里: https://developers.facebook.com/bugs/530674523672388?browse=external_tasks_search_results_51fd2ae4d0e0e1621568068

还有一件重要的事情要说,问题是“喜欢”适用于帖子,但不适用于照片。但我得到的东西与此不同。包含外部链接内容附件和任何其他内容的帖子也会出现同样的问题!

我已经使用该系统管理了发布点赞,如所讨论的:您可以通过使用publish_stream权限向PHOTO_ID/likes连接发出HTTP POST请求来点赞照片。无需参数。当然,您需要每个用户都有一个有效的访问 token 才能正确执行此操作。您可以使用Facebook SDK for PHP 用于通过授权每个用户获取访问 token 。它适用于所有标准对象(帖子、照片、视频经过正确测试),只需要传递照片、帖子或视频的有效 ID。

代码很简单,我为此展示了假的 facebook 点赞和点赞(点赞之后)按钮:

function like_std_object($object_id){
    try{
        $like=$facebook->api('/$object_id/likes','post'); //post a like using api
    }catch(FacebookApiException $e){
        return false;
    }
}
function unlike_std_object($object_id){
    try{
        $like=$facebook->api('/$object_id/likes','delete'); //post a un-like using api
    }catch(FacebookApiException $e){
        return false;
    }
}

关于javascript - FB Like 无法在网站上使用照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13742094/

相关文章:

javascript - 从 X-editable Select 中删除空选项

javascript - Google Apps 电子表格脚本并不总是完成迭代,否则工作正常

javascript - 可通过旋转元素调整大小的 jQuery UI

facebook - 没有得到 $_REQUEST ['signed_request' ]

javascript - 当 Material UI 选项卡包裹在另一个组件内时,它会失去与选项卡的连接

php - 突然,getUser 变成返回 0。(PHP 3.1.1 SDK)

jquery - 使用 jquery 模拟 facebook 搜索

facebook - 在 Node.js 中获取 Facebook 页面的公共(public)提要

facebook - 如何实现OG-Tags的国际化?

javascript - 如何在创建的博客文章上向用户发送 Facebook 通知?