2012-03-22 2 views
0

나는 페이스 북 로그인 링크를 생성하려면 다음 코드를 사용하고 있습니다 :Facebook 앱에 강제로 권한을 요청하는 방법은 무엇입니까?

<?php 
try { 
include_once 'facebook_sdk_libs/facebook.php'; 
} catch(Exception $o){ 
echo '<pre>'; 
print_r($o); 
echo '</pre>'; 
} 
// Create our Application instance. 
$facebook = new Facebook(array(
    'appId' => APPID, 
    'secret' => APPSECRET, 
    'cookie' => true, 
)); 

$session = $facebook->getSession(); 

function d($d){ 
echo '<pre>'; 
print_r($d); 
echo '</pre>'; 
} 

$fbme = null; 
// Session based graph API call. 
if ($session) { 
try { 
    $uid = $facebook->getUser(); 
    $fbme = $facebook->api('/me'); 
} catch (FacebookApiException $e) { 
    // d($e); 
} 
} 

if($fbme){ 
$logoutUrl = $facebook->getLogoutUrl(); 
} else { 
$loginUrl = $facebook->getLoginUrl(
    array('scope' => 'publish_stream') 
); 
} 

그것은 페이스 북이 "취소" "앱으로 이동"및 표시하는 화면을 보여줍니다. '앱으로 이동'을 클릭하면 내 페이지로 돌아 오지만 원하는대로 Facebook 벽에 게시하지 않습니다.

Facebook에서 "Wall on Post"에 대한 권한을 요청하려면이 코드를 어떻게 변경해야합니까?

답변

0

당신이하는 작업은 사용자가 귀하의 앱을 인증하게하고 페이스 북은 귀하에게 돌아갑니다. 이로 인해 Facebook이 사용자의 벽에 게시되지 않습니다. 페이스 북의 인증에서 돌아

  • , 당신은 "벽에 게시"및 JS SDK의 FB.ui 'feed' dialog가 사용자를 요청할 수있는 사용을 위해 페이지에 버튼이 있습니다 : 당신이 그렇게하려면, 두 가지 방법이 있습니다 벽에 게시하십시오. 물론 이것은 반드시 사용자가 벽에 게시한다는 의미는 아닙니다.
  • 반환시 반환 된 access_token을 사용하여 그래프 API에 대한 서버 측 호출을 수행하여 사용자의 벽에 link, post 또는 status을 게시합니다. Graph API reference을 읽으십시오. 참여에 대한
1

덕분에, 내가 access_token은 대한 단서의 주를 가지고 있고이 코드는 먼저 다음 단계에 다음 내 응용 프로그램을 인증, 난 그냥이 하나

$loginUrl = $facebook->getLoginUrl(array(
    'canvas' => 1, 
    'fbconnect' => 0, 
    'req_perms' => 'email,publish_stream,status_update,user_birthday,user_location,user_work_history')); 

와 getlogin이 코드를 대체 작업 발견 게시물 벽 권한을 요청합니다. 그래서 이것은 단일 단계에서 이것을 수행합니다.

감사합니다.

관련 문제