登录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,代码来保存我打开的页面?我还没找到任何东西。
答案 0 :(得分:0)
您要求的是不可以通过Facebook平台获得。并试图刮取一页来提取信息也是针对Facebook terms:
您不会收集用户的内容或信息,也不会收集其他信息 访问Facebook,使用自动化手段(如收获机器人, 未经我们事先许可,机器人,蜘蛛或刮刀。
此外,您无法询问用户的密码和登录信息,请参阅Facebook Platform Policies:
您不得包含代理,请求或收集的功能 Facebook用户名或密码。