1

当你点击Like按钮https://graph.facebook.com/object_id/likes调用。要取消我该Like怎么办?

我尝试了以下方法:

<code>
<script>
function doLike(objectId) {
    $.ajax({
       url: 'https://graph.facebook.com/'+objectId+'/likes',
       type: 'post',
       data: {
           access_token: '....'
       }
    });
}

function doCancel(objectId) {
    $.ajax({
       url: '???',
       type: 'post',
       data: {
           access_token: '....'
       }
    });
}
</script>

<input onclick="doLike('...')">Like</button>
<input onclick="doCancel('...')">Cancel</button>
</code>
4

3 回答 3

1

这让我发疯了。Firefox/Chrome 和其他一切显然都不允许 HTTP DELETE ajax 调用,除非主机先前在当前请求期间进行过通信。因此$.ajax{(type: 'delete', ... )}适用于您的服务器 url 主机,但不适用于其他任何东西。

解决方法类似于:

$.ajax({ 
  url: "https://graph.facebook.com/" + FB_ACTION_ID,
  type: 'post',
  data: { access_token: ACCESS_TOKEN,
          'method': 'delete',
          '_method' : 'delete' }
  })
于 2013-01-24T23:47:10.920 回答
0

您应该能够简单地通过执行 HTTP DELETE 来“取消”对象 ID。使用您的代码,它看起来像这样:

function doCancel(objectId) {
    $.ajax({
       url: 'https://graph.facebook.com/'+objectId+'/likes',
       type: 'delete',
       data: {
           access_token: '....'
       }
    });
}

或者,使用 Facebook Javascript SDK,您可以在其中简单地执行以下操作:

FB.api("/" + objectId + "/likes", 'delete', callback);

其中回调是在不同操作完成时调用的函数。

于 2012-10-30T03:36:43.070 回答
0

如果您正在寻找允许您删除 Facebook 页面的赞的 API,这是不可能的。

如果您正在寻找一个 API 来删除对象的 Like(通过 URL) - 您可以发出 HTTP DELETE 请求,该请求是您发布Open Graph like/LIKE_INSTANCE_ID时返回给您的应用程序的 ID - 否则不可能

于 2012-10-30T02:52:54.530 回答