2011-10-03 6 views
0

사용자가 페이스 북 계정을 통해 로그인하고 퀴즈를 풀어 내 사이트에 퀴즈 프로그램을 가지고 있습니다.대화 상자를 열지 않고 페이스 북 벽에 게시하는 방법은 무엇입니까?

퀴즈를 성공적으로 마친 후 자신의 점수와 순위를 게시하고 싶습니다. Facebook 로그인 및 로그 아웃이 정상적으로 작동합니다. 대화 상자를 표시하지 않고 벽에 점수와 순위를 표시하려면 어떻게합니까?

나는 사용자의 벽 -

require 'src/facebook.php'; 

<?php 
    $facebook = new Facebook(array(
     'appId' => 'APP ID', 
     'secret' => 'SECRET KEY', 
    )); 
?> 
<script> 
    FB.init({ 
     appId:'APP ID', cookie:true, 
     status:true, xfbml:true 
    }); 

    FB.ui({ method: 'feed', 
     message: '<?php echo "My score is ".$myscore." and rank is ".$rank; ?>'}); 
</script> 

이 코드는 나를 위해 대화 상자를 열지 않고 그 빈 입력 필드와이다의 점수와 순위를 게시하려면이 코드를 사용하고 있습니다. 사용자가 '게시'버튼을 클릭하면 벽에 아무 것도 게시되지 않으며 입력란의 텍스트를 수정하면 잘못된 정보가 게시됩니다. 이 필드는 편집 할 수 없거나이 상자가 없어야합니다.

코드 예제가 포함 된 솔루션을 제안 해주십시오.

+0

가능 중복 http://stackoverflow.com/questions/4489519/how-to-post-on-facebook-wall-without-opening-dialog – madmik3

답변

0

FB는 메시지 필드의 사전 편집을 허용하지 않기 때문입니다. 사용자의 Wall에 무언가를 게시하려면 사용자에게 'publish_stream'권한이 있어야합니다. 그러면 사용자가 메시지 상자에 내용을 입력하거나 게시 버튼을 누르지 않고도 메시지를 게시 할 수 있습니다. 하지만이 경우 FB.api를 호출하여 Graph의 API에 액세스하여 사용자의 Wall에 액세스해야합니다. 자세한 내용은 Graph API을 참조하십시오.

이 코드를 추가하면 FB.init 매개 변수에 'oauth : true'를 추가하여 OAuth2 메소드를 사용해야합니다.

0

사용자에게 대화 상자를 표시하지 않고 피드 스토리를 게시하려면 "publish_stream"권한을 요청해야합니다.

샘플 코드는 다음과 같이 보일 수 있습니다 :

FB.login(function(response) { 
    if (response.authResponse) { 
    console.log('Posting message'); 
    FB.api('/me', 'post', {message: 'Beware, boiling water...'}); 
    } else { 
    console.log('User cancelled login or did not fully authorize.'); 
    } 
}, {scope: 'publish_stream'}); 
이의
관련 문제