> 웹 프론트엔드 > JS 튜토리얼 > JavaScript를 사용하여 Facebook 사용자가 내 페이지를 좋아했는지 확실하게 확인하려면 어떻게 해야 합니까?

JavaScript를 사용하여 Facebook 사용자가 내 페이지를 좋아했는지 확실하게 확인하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-11-25 09:47:07
원래의
325명이 탐색했습니다.

How Can I Reliably Determine if a Facebook User Has Liked My Page Using JavaScript?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿