点击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>
答案 0 :(得分:1)
这让我疯了。 Firefox / Chrome以及其他所有内容显然都不允许HTTP DELETE ajax调用,除非主机先前已在当前请求期间进行通信。因此$.ajax{(type: 'delete', ... )}
适用于您的服务器网址主机,但不适用于其他任何内容。
解决方法类似于:
$.ajax({
url: "https://graph.facebook.com/" + FB_ACTION_ID,
type: 'post',
data: { access_token: ACCESS_TOKEN,
'method': 'delete',
'_method' : 'delete' }
})
答案 1 :(得分:0)
如果您正在寻找允许您删除喜欢Facebook页面的API,那么这是不可能的。
如果您正在寻找一个API来删除对象的喜欢(通过URL) - 您可以向/LIKE_INSTANCE_ID
发出HTTP DELETE请求,这是您在发布{{}时返回给您的应用的ID 3}} - 否则就不可能
答案 2 :(得分: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);
其中callback是在不同操作完成时调用的函数。