用户授权后使用PHP或Javascript保存facebook网页

时间:2013-01-10 17:56:48

标签: php javascript facebook facebook-javascript-sdk

登录facebook后,我想保存https://www.facebook.com/pages的内容(没有特定的网页ID,但是你看到的是网址,看看建议的收藏页面,而不是我喜欢或选择过的网页)

我不是要获取用户管理的页面列表,也不是他们喜欢的页面列表。所以/我/帐户或/我/喜欢没用。我尝试获取Facebook上添加的所有页面,从我上次访问此网址开始,它将它们显示为我可能喜欢的页面

我正在使用http://developers.facebook.com/docs/reference/php/的示例,我会获取用户的个人资料。到目前为止一切都很好。

我尝试使用

检索数据
$facebook->api('/me/pages'), 
$facebook->api('/pages'), 
$facebook->api('/pages'), 
$facebook->api('/id=USER_ID/pages') 

等等但是所有错误或者使用Graph API页面?id = USER_ID都有不支持的get / post请求。

正如Igy所说“建议的页面不是API的功能,只有facebook.com界面”

我尝试的其他方法是使用file_get_contents保存网址。作为我使用的网址

ini_set('user_agent','MSIE 4\.0b2;'); //to pretend that I am a browser, it works
http://www.facebook.com/pages?id=USER_ID and
http://www.facebook.com/pages

虽然保存工作正常,但Facebook无法识别授权并显示我想要的页面,但是对于没有登录的用户。

我在Facebook JavaScript测试控制台中尝试了javascript,登录后打开了识别授权的页面。代码是

<div id="authResponse"></div>
<script>
var
  div         = document.getElementById('authResponse'),
  showAuthRecord = function(response) {
    if (!response.authResponse) {
      div.innerHTML = '<em>Not Connected</em>';
    } else {
      var html = '<table>';
      for (var key in response.authResponse) {
        html += (
          '<tr>' +
            '<th>' + key + '</th>' +
            '<td>' + response.authResponse[key] + '</td>' +
          '</tr>'
        );
      }
      div.innerHTML = html;
    }
  };
FB.getLoginStatus(function(response) {
  showAuthRecord(response);
  FB.Event.subscribe('auth.authResponseChange', showAuthRecord);
});

window.open('https://www.facebook.com/pages','mywin','left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
</script>

有没有办法在PHP,Graph API或FQL Query中执行此操作?或者添加javascript,代码来保存我打开的页面?我还没找到任何东西。

1 个答案:

答案 0 :(得分:0)

您要求的是可以通过Facebook平台获得。并试图刮取一页来提取信息也是针对Facebook terms

  

您不会收集用户的内容或信息,也不会收集其他信息   访问Facebook,使用自动化手段(如收获机器人,   未经我们事先许可,机器人,蜘蛛或刮刀。

此外,您无法询问用户的密码和登录信息,请参阅Facebook Platform Policies

  

您不得包含代理,请求或收集的功能   Facebook用户名或密码。