jQuery를 통해 Facebook API Admin.getMetrics 메소드에 액세스하려고합니다. 나는 정확하게 서버 측에서 요청 URL을 작성하고있다 (내 앱의 비밀을 비밀로 유지하기 위해). 그런 다음 jQuery.getJSON()
을 사용하여 요청할 브라우저로 URL을 보냅니다.
페이스 북은 내 인증을 확인하기 위해 요청과 함께 내 신청 비밀로 해시 된 모든 요청 매개 변수의 사본을 보내야합니다. 문제는 jQuery가 콜백 함수 자체의 이름을 생성하여 데이터가 반환 될 때 호출되도록 전달 된 익명 함수에 제공하는 이름을 일치 시키려고한다는 것입니다. 따라서 jQuery.getJSON()
이 실행될 때까지는 함수의 이름을 사용할 수 없으며 Facebook은 일치하지 않는 서명으로 인해 내 요청이 본인이 아닌 것으로 간주합니다. (정확한 기호는 jQuery.getJSON()
까지 생성되었으므로 정확한 콜백 매개 변수를 포함하지 않습니다.
이 문제를 해결할 수있는 유일한 방법은 내 기능의 이름을 익명으로 유지하는 대신 jQuery.getJSON()
으로 지정하는 것입니다. 하지만 jQuery AP에서 그렇게 할 수있는 옵션을 찾을 수 없습니다.
$ .ajaxSetup 추가 ({cache : true}); getScript를 호출하기 전에 _ = 12344567 매개 변수도 제거됩니다. – Duncan
참. 이 방법은 한 번에 두 가지 작업을 모두 수행하며 동일한 페이지에서 수행 할 수있는 다른 jQuery Ajax 요청에 대해서는 우물을 독살하지 않는다. –