2011-04-07 3 views
6

나는 정말로 혼란 스럽다.Facebook Like 버튼의 XFBML 버전에 appId가 필요합니까?

나는 매우 간단한 페이 스북 (Facebook) 플러그인을 내 사이트, 특히 기본 "좋아요"버튼으로 사용하려고합니다.

이미 iFrame과 함께 제한된 버전을 사용하는 방법을 알고 있습니다.

그러나 지금은 XFBML 방법을 알아 내려고 노력하고 있습니다. 온라인 설명서는 이미 알고있는 것과 실제로 작동하는 예제에 대해 많은 가정을하고있는 것으로 보입니다. 예를 들어 자바 스크립트 초기화를 호출하고 fb 요소에 대한 HTML 코드 한 줄을 제공하는 방법을 보여줍니다. 예를 들어 얼굴을 표시/숨기거나 기본 글꼴을 설정하는 방법에 대한 예는 볼 수 없었습니다. .iFrame 코드와 같습니다.

나는 요소로 속성을 추가해야한다는 것을 알았지 만 StackOverlfow 덕택에 단순히 서클에있는 Facebook 문서에 감사드립니다. XFBML 코드를 사용하는 경우

<fb:like href="http://mydomain.com" show_faces="true" action="recommend" colorscheme="light" width="400" height="35" /> 

좋아, 그래서 지금은 높이가 자동으로 내가 가정 로그인에 관계되는에 따라/계약을 확대해야합니다.

처음에 높이를 "80"으로 설정했는지 또는 자동으로 발생하는지 알고 싶습니다.

그리고 Init 스크립트에서 '앱 ID'로 무엇을 사용해야하는지 잘 모르겠습니다. App은 없습니다 ... 단지 Facebook Company 페이지 ... 그렇다면 웹 사이트에 Like 버튼을 넣을 때 App Id가 필요한 이유는 무엇입니까?

<script> 
window.fbAsyncInit = function() { 
    FB.init({ 
    appId: 'your app id', 
    status: true, 
    cookie: true, 
    xfbml: true 
    }); 
}; 

이러한 문제에 대한 모든 깨달음은 인정 될 것입니다.

고맙습니다!

답변

16

http://developers.facebook.com/docs/guides/web/

... 모든 내 머리를 잡아 당겨 후, 내 자신의 질문에 대답 "자바 스크립트 SDK는 앱의 ID를 얻기 위해 페이스 북으로 귀하의 웹 사이트를 등록 (또는 APPID 해야합니다) appId는 사용자와 웹 사이트간에 적절한 보안 수준을 유지할 수 있도록 사이트의 고유 식별자입니다. 다음 예는 appId를 얻은 후에 JavaScript SDK를로드하는 방법을 보여줍니다. "

http://developers.facebook.com/setup/

해당 페이지/양식의 제목은 입니다.을 만듭니다. 나는 아직도 그들이 더 일반적인 용어를 사용하지 않는 이유를 이해하지 못한다. 나는 "앱 만들기"가 아니며 웹 사이트를 앱으로 생각하지 않습니다.

+18

그래, 페이스 북의 문서는 아주 심각합니다. – billmalarky

+2

'appId = 3990840334890'에서 벗어나면 잘 작동하는 것 같습니다. –

+0

@PeterEhrlich appId를 제공하지 않으면 통계/통찰력이 누락 될 것입니다. 나를 위해 일하는 것 같습니다. 댓글 플러그인이있는 이벤트 ... – benzkji

1

나는 appId가 없지만 like code generator에서이 코드를 얻었으며 내 로컬 환경 (localhost : 8000을 사용하지만 여전히 136 개의 즐겨 찾기가 있음)에서 작동하는 것 같습니다. 버튼을 누르면 예상대로 페이스 북 로그인 팝업이 표시됩니다.

<div id="fb-root"></div> 
<script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

<fb:like href="url here (optional)" send="true" width="450" show_faces="true"></fb:like> 
0

할 수있는 작업은 ...

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#" > 

... 

window.fbAsyncInit = function() { 
FB.init({ 
    // appId  : 'none', // App ID 
    cookie  : true, // enable cookies to allow the server to access the session 
    xfbml  : true // parse XFBML 
}); 

FB.Event.subscribe('edge.create', function(href, widget) { 
      var ss=href; 
      if (ss.match(/myWebSite/i)) { 
        alert('You just liked me'); 
      } 
}); 
}; 

(function (d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "https://connect.facebook.net/en_GB/all.js#xfbml=1"; 
    //js.src = "https://connect.facebook.net/en_GB/all.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 

... 

<fb:like ref="core" class="fb-like" data-href="http://www.mySite.com" 
data-send="false" data-layout="button_count" 
data-width="50" data-show-faces="false" data-colorscheme="dark"></fb:like> 

위의 일을하지만, 자신처럼, 그리고 페이스 북은 페이스 북 (spash와 페이지, #followers, #talking 등을 제공) 사이트 등록과 실제 '좋아요'를 분할하는 방법을 참고, '좋아요'URL의 그것은 알 수 없습니다 . (사이트는 적어도 증가하는 카운터를 얻습니다). 그것은 다소 좋아하는 목적을 다소 상실합니다. 나는 틀릴 수도 있지만, 후자에 관한 메시지도 게시하지 않는다고 생각합니다. 내가 페이스 북의 전화 번호에서 실행하고 있기 때문에 :)

을 그리고, 내가 적어도, 더 큰 문제가에 대한

이 너무 나쁘다. 당신이 당신을 좋아한다고 누군가를 보상하려고한다면, 이것이 사실이라고 확신 할 수 없습니다. 왜냐하면 이것은 js이기 때문입니다. 보상 페이지로 리디렉션하려고하면 사용자는 해당 URL을 붙여 넣기 만 할 수 있습니다. 당신은 rnd 세션 var을 설정하고, js로 전달하고, js를 PHP 페이지로 리다이렉트 할 수 있지만, 사용자도이를 알아낼 수 있습니다.

당신은

require 'face_sdk/face/src/facebook.php'; 
$facebook = new Facebook(array(
    'appId' => '', 
    'secret' => '', 
)); 
$user = $facebook->getUser(); 

때문에 직접 PHP는 방법이 보인다 ... 보인다 (또는 APPID을 주석 처리) 기운 다. 나는 php에 iframe 된 Like 버튼 URL을 전달하고, simple_html_dom.php로 파싱하고, 두 개의 메인 div 중 어느 것이 클래스 'hidden_elem'을 갖고 있는지 찾아 냈다. 그러나 결국, 페이스 북은 당신을 2 류 시민처럼 대우 할 것이기 때문에 가치가 없습니다.