【发布时间】:2016-12-27 03:33:10
【问题描述】:
我曾经能够通过 Facebook 上的单个 FQL 查询 URL 获得页面喜欢。但截至上周,他们将其关闭。要求使用他们的 SDK 或 API,但是我的系统会扫描我的用户的 facebook 页面并显示他们喜欢的页面。
有什么办法可以解决这个问题,就像我使用 SDK 或 API 一样。对于每个页面的每个请求,我都需要一个应用程序。
谢谢。
注意:
我尝试使用标头和用户代理对file_get_contents() 不满意,并尝试通过手机请求无济于事。
代码:
$url = "http://m.facebook.com/pagename/";
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7\r\n"
)
);
$context = stream_context_create($options);
$file = file_get_contents($url, false, $context);
print_r($file);
结果:
【问题讨论】:
-
对于每个用户,您都必须获取 access_token 才能通过 facebook api 获取用户信息。形成api响应,你现在就可以得到你想要的。
-
“但是我的系统会扫描我用户的 Facebook 页面” – 未经 Facebook 事先书面同意,抓取他们的页面违反了他们的服务条款,所以你一直在做的不是已经允许了。使用他们的 API 是解决此问题的正确方法。
标签: php facebook facebook-graph-api facebook-fql