1

可以建议一种方法来授权我在 Facebook 中的 Web 应用程序以获取 access_token 而无需重定向?我发现这实际上可以通过已弃用的 Facebook REST API 实现,但我无法注册新的应用程序来使用它。

问候,汤姆

4

1 回答 1

0

您只能使用 facebook javascript 库来完成此操作。使用 PHP 库,您只能将它们重定向到 facebook……如果它们在 facebook 上取消,它们现在就会离开您的站点。

使用 javascript 库,您将获得一个模式窗口,如果它们取消,则留在您的页面上。

以下是关于如何使 javascript 按钮出现在您的页面上并进行简单的登录检查的简短说明:

<div id="fb-root"></div>
 <script>
     window.fbAsyncInit = function() {

     // Initialize Facebook Connect
    FB.init({
       appId  : 'YOUR_FACEBOOK_APP_ID_HERE',
       status : false, // Check login status
       cookie : true, // Enable cookies to allow the server to access the session
       xfbml  : true,  // Parse XFBML
       oauth  : true
    });

     };

   // Get Facebook Connect JS and append it to the DOM
   (function() {
   var e = document.createElement('script'); 
    e.async = true;
    e.src = document.location.protocol+'//connect.facebook.net/en_US/all.js#xfbml=1';
    document.getElementById('fb-root').appendChild(e);
   }());

  function fbLoginCheck(response){
     if(response.status != 'unknown'){
       //reload or redirect once logged in...
       window.location.reload();
    }
   }
 </script>

   <a class="fb_button fb_button_medium"  
    onclick='FB.login(fbLoginCheck,{ scope: "user_about_me,user_location,user_birthday,email,publish_stream"})'>
   <span class="fb_button_text">Join with Facebook</span></a>
于 2012-09-20T19:52:38.463 回答