2012-10-30 4 views
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> 

답변

0

당신이 페이스 북 페이지처럼 제거 할 수있는 API를 찾고 있다면, 이것이 불가능 :

나는은 다음 시도했다.

것은 당신이 (URL을 통해) 오브젝트의처럼를 제거하기 위해 API를 찾고 있다면 - 당신은 HTTP 당신이 Open Graph like을 게시 할 때 ID가 앱에 반환 /LIKE_INSTANCE_ID에 요청을 삭제 할 수 있습니다 - 그렇지 않아, 그렇지 않으면 가능

0

단순히 HTTP DELETE를 수행하여 객체 ID를 "부적절하게"지정할 수 있어야합니다. 코드를 사용하면, 다음과 같이 보일 것입니다 :

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

을 다른 방법으로, 간단하게 할 수있는 페이스 북 자바 스크립트 SDK, 사용

콜백 함수입니다
FB.api("/" + objectId + "/likes", 'delete', callback); 

이 때 전화를 달리 작동이 완료되었습니다.

1

이것은 나를 몰아 부쳤다. 파이어 폭스/크롬 그리고 아마도 다른 모든 것들은 호스트가 현재 요청 중에 이전에 통신하지 않았다면 HTTP DELETE 아약스 호출을 허용하지 않을 것입니다. 따라서 $.ajax{(type: 'delete', ...)}은 귀하의 서버 URL 호스트에는 작동하지만 다른 것은 작동하지 않습니다.

해결 방법은 뭔가 같은 :

$.ajax({ 
    url: "https://graph.facebook.com/" + FB_ACTION_ID, 
    type: 'post', 
    data: { access_token: ACCESS_TOKEN, 
      'method': 'delete', 
      '_method' : 'delete' } 
    }) 
관련 문제