0

我正在使用JavaScript API从我的FB页面获取墙贴。是否可以从我的Facebook页面获取墙贴

$(document).ready(function(){ 

    window.fbAsyncInit = function() { 
     FB.init({ 
       appId  : 'xxxxxxxxxxxxxxxxxx', 
       xfbml  : true, 
       version : 'v2.1' 
     }); 

     FB.getLoginStatus(function(response) { 
     if (response.status === 'connected') { 
      //console.log('Logged in.'); 
     } 
     else { 
      FB.login(function(response) { 
       if (response.authResponse) { 
       var access_token = FB.getAuthResponse()['accessToken']; 
       console.log(response); 
       FB.api('/153466xxxxxxxx/posts', function(response) { 
       console.log(response); 
       }); 

       } else { 
       console.log('User cancelled login or did not fully authorize.'); 
       } 
      }, {scope: ''}); 
     } 
     }); 
    }; 

    (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/sdk.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
}); 

但是,这需要用户登录并允许应用程序的权限。我是否可以使用PHP FB SDK从我的账户中获取墙贴,并在我的网页上显示,而不要求用户登录他们的Fb账户。

任何帮助将不胜感激。

回答

0

对于一个Facebook页面it's很容易,你需要的是一个应用程序访问令牌

Facebook的软件开发工具包将使用应用程序令牌自动如果没有用户登录,但您也可以添加访问令牌。不过要小心,请勿使用简单的方法来创建一个应用程序令牌,这仅仅是一个应用程序ID和App秘密的组合:

var accesstoken = APPID + '|' + APPSECRET; 

现在,如果你使用的是一个用JavaScript客户端,您的应用程序上每个人都能看到秘密,这很糟糕。我建议使用PHP来实现这一点,无论是使用PHP SDK还是简单的CURL调用。如果你真的想只用JavaScript,只要访问的第一个环节我张贴,并检查了如何使用图形API调用生成一个应用程序令牌:

GET /oauth/access_token? 
    client_id={app-id} 
    &client_secret={app-secret} 
    &grant_type=client_credentials 

用户配置文件it'sa很多困难,因为你确实需要一个用户令牌。甚至一个扩展用户令牌只有60天有效。之后,您需要手动刷新它。但用户配置文件不应该用于那个。

+0

但我猜用户需要登录一次才能生成此访问令牌。对 ? – VMN 2014-10-20 07:34:51

+0

用户令牌:是。如果用户未登录,则SDK应使用App令牌。但我不会指望它,因为你不需要登录一个应用程序令牌,所以你最好使用PHP来获取这个feed。例如: – luschn 2014-10-20 07:36:47

+0

:http://www.devils-heaven.com/extended-page-access-tokens-curl/ - 这就是你可以如何使用curl和图形api。 – luschn 2014-10-20 07:37:14

相关问题