JavaScript API를 사용하여 Facebook 페이지 선호도 확인
iFrame 애플리케이션의 맥락에서 사용자가 '좋아요' 표시를 했는지 확인하는 작업은 특정 Facebook 페이지를 만날 수 있습니다. 그러나 이 기능을 구현하려고 시도하는 동안 불일치가 발생하는 것은 드문 일이 아닙니다.
다음 코드 조각을 고려하십시오.
FB.api({ method: "pages.isFan", page_id: my_page_id, }, function(response) { console.log(response); if(response){ alert('You Likey'); } else { alert('You not Likey :('); } } );
이 코드를 실행하면 "False"라는 당황스러운 결과가 나타납니다. 하지만 문제의 사용자는 실제로 관련 페이지에 '좋아요'를 표시했습니다. 이러한 불일치의 원인은 해결되지 않은 확장 권한이 필요하기 때문입니다.
서명된 요청을 사용한 대체 접근 방식
이 문제를 피하고 확실하게 확인하려면 사용자의 "좋아요" 상태에 따라 서명된 요청 메커니즘을 활용하는 대체 접근 방식을 사용할 수 있습니다. Facebook 내에서 "캔버스용 OAuth 2.0" 고급 옵션을 활성화하면 "좋아요" 상태를 포함하여 사용자에 대한 중요한 정보가 포함된 모든 탭 앱 요청에 대해 서명된 요청을 검색할 수 있습니다.
function parsePageSignedRequest() { if (isset($_REQUEST['signed_request'])) { $encoded_sig = null; $payload = null; list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2); $sig = base64_decode(strtr($encoded_sig, '-_', '+/')); $data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true)); return $data; } return false; } if($signed_request = parsePageSignedRequest()) { if($signed_request->page->liked) { echo "This content is for Fans only!"; } else { echo "Please click on the Like button to view this tab!"; } }
이것은 솔루션은 서명된 요청을 추출하고 디코딩한 후 구문 분석된 JSON 개체의 "좋아요" 속성을 검사하여 Facebook 페이지에 대한 사용자의 "좋아요" 상태를 정확하게 파악합니다.
위 내용은 JavaScript를 사용하여 Facebook 사용자가 내 페이지를 좋아했는지 확실하게 확인하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!