【发布时间】:2013-01-10 17:56:48
【问题描述】:
登录 facebook 后,我想保存 https://www.facebook.com/pages 的内容(没有特定的页面 id,而是您看到的 url,并查看建议的收藏页面,而不是我喜欢或选择的页面)
我不是试图获取用户管理员的页面列表,也不是他们喜欢的页面列表。所以 /me/accounts 或 /me/likes 没有用。我尝试获取 Facebook 中添加的所有页面,从我上次访问此 url 开始,它建议它们作为我可能喜欢的页面
我正在使用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 存在不支持的获取/发布请求。
正如 Igy 所说“建议页面不是 API 的功能,只有 facebook.com 界面”
我尝试的其他方法是使用 file_get_contents 保存 url。作为网址,我使用了
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,代码来保存我打开的页面?我还没有找到任何东西。
【问题讨论】:
-
为什么不直接使用 API?
-
我使用了它,但它不被识别,没有 /me/pages, /pages, /pages, /id=USER_ID/pages 。你对 API 有什么建议?
-
你想得到什么?用户管理的页面列表,还是他们喜欢的页面列表?
/me/accounts或/me/likes- 你看过 User 文档吗? -
没有你提到的。我尝试获取 Facebook 中添加的所有页面,从我上次访问此 url 开始,它建议它们作为我可能喜欢的页面
-
推荐页面不是 API 的功能,只有 facebook.com 接口
标签: php javascript facebook facebook-javascript-sdk