Ajax HTTP DELETE 요청을 통해 사용 권한을 제거하려고하는데, 다시 돌아 오는 응답은 그래프 API 문서에 나와있는 것과 다릅니다. 부울 응답 ("삭제가 성공하면 True, 그렇지 않으면 오류가 발생합니다.")이 표시되어야합니다. 내가 돌아올 것을 여기페이스 북의 오픈 그래프 - HTTP DELETE 요청 발행
var revokePermission = function(permName) {
var revoke_perm_url = "https://graph.facebook.com/me/permissions" +
"?access_token=" + access_token + "&callback=?";
$.ajax({
type: "DELETE",
dataType: "jsonp",
url: revoke_perm_url,
data: {'permission': permName},
success: function(response){
console.log(response);
}
});
}
revokePermission(permission_name);
됩니다 :
data: Array[1]
0: Object
bookmarked: 1
create_note: 1
email: 1
installed: 1
photo_upload: 1
publish_actions: 1
publish_stream: 1
read_stream: 1
share_item: 1
status_update: 1
user_interests: 1
user_likes: 1
user_status: 1
video_upload: 1
주를 API 문서 말 것을 :
You can de-authorize an application entirely, or just revoke a specific permission on behalf of a user by issuing an HTTP DELETE to PROFILE_ID/permissions or PROFILE_ID/permissions/PERMISSION_NAME respectively. This request must be made with a value user access_token for the current app.
I를하지만 그 대신 나는 권한 목록의 전체 개체를 받고 있어요 이 모든 것을 이해하므로 특정 사용 권한 url (예 : "/ permissions/user_likes /") 또는 ajax 데이터 매개 변수를 통해 전송 된 사용 권한을 가진 기본 사용 권한 url에 요청할 때 둘 다 모든 현재 사용 권한 및 삭제 요청 된 권한은 그대로 유지됩니다.
Object
error: Object
code: 2500
message: "Cannot specify permission in both the path and query parameter."
type: "OAuthException"
누구나 무슨 일이 일어나고 있는지 알고 : 나는 URL과 데이터 모두에서 권한을 설정 전송되는 경우
그러나, 그것은 오류와 개체를 반환? auth.revokeExtendedPermission의 LEGACY REST 메소드는 실제로 http://developers.facebook.com/docs/reference/rest/auth.revokeExtendedPermission/에서 작동합니다. 부울 응답을 반환하고 해당 권한이 삭제됩니다.
솔루션?
감사 Andreyul. Ajax 'type'매개 변수가 전송되지 않은 이유를 잘 모릅니다. 참고로 그래프 URL에 "& method = delete"를 추가하여 작업해야합니다. 다시 한 번 감사드립니다! – chuuke