2011-09-08 1 views
1

모바일 용으로 개발 중이며 webview (브라우저 툴바, 주소 표시 줄 등)에 페이지를 시작하는 간단한 앱이 있습니다. 이 브라우저 설정은 팝업 창을 실제로 처리 할 수 ​​없기 때문에 팝업을 실행하지 않고 oauth에 대한 간단한 URL 호출을 어떻게 구현할 수 있습니까? 또한 다음 코드에서 display = "touch"기능을 사용하고 싶습니다.초보자가 fb.login 질문을하는 방법 - display = touch를 구현하는 방법?

jQuery(document).ready(function($){ 
if (window.FB) { 
    FB.init({appId: '123456789000000', 
     status: true, 
     cookie: true, 
     xfbml: true}); 
    $('html').attr('xmlns:og', 'http://opengraphprotocol.org/schema/'); 
    $('html').attr('xmlns:fb', 'http://www.facebook.com/2008/fbml'); 
} 
}); 

function fbc_login() { 
    if (window.FB) { 
     FB.login(function(response) { 
      if (response.session) { 
       window.location = 'http://www.mobii.hu/'; 
       } 
      }, 
      { perms: 'email' 
      }); 
    } 
}; 
function fbc_logout() { 
    if (window.FB) { 
     FB.logout(function(response) { 
      window.location = 'http://www.mobii.hu/index.php?option=com_comprofiler&task=logout&Itemid=2'; 
      }); 
     } 
    }; 
function fbc_unjoin() { 
    if (window.FB) { 
     if (confirm('Are you sure you want to unjoin http://www.mobii.hu?')) { 
     FB.api({ 
      method: 'Auth.revokeAuthorization' }, function(response) {window.location = 'http://www.mobii.hu/';}); 
     } 
    } 
}; 

jQuery(document).ready(function($){ 
    if (window.FB) { 
     FB.logout(function(response) {}); 
    } 
}); 

미리 감사드립니다.

+0

고맙습니다. 고맙습니다. :) – iUsable

답변

2

AFAIK, display = "touch"는 JS SDK를 사용하여 제대로 작동하지 않습니다. 가장 좋은 공격 계획은 Facebook PHP SDK을 JavaScript SDK와 조화롭게 사용하는 것입니다. 아이디어는 PHP SDK의 내장 메소드 인 getLoginUrl()을 사용하여 애플리케이션의 구성, 요청 된 사용 권한 등에 따라 로그인 URL을 생성 한 다음 해당 URL을 JavaScript 함수에 전달하는 것입니다.

는 PHP :

<?php 
include('facebook.php'); 

$facebook = new Facebook(array(
    'appId' => YOUR_APP_ID, 
    'secret' => YOUR_APP_SECRET 
)); 

$loginUrl = $facebook->getLoginUrl(array(
    'req_perms' => 'email', // Non-OAuth 2.0 apps. 
    /* 'scope' => 'email', */ // OAuth 2.0 apps. 
    'display' => 'touch' 
)); 
?> 

그리고 당신의 fbc_login() 함수는 간단해야한다 :

<script type="text/javascript"> 
    function fbc_login() { 
     document.location='<?php print $loginUrl; ?>'; 
    } 
</script> 

희망이 도움이!

+0

방금 ​​제 인생의 약 45 분을 구해 줬습니다. 존경. – iUsable