如果我已经知道他的脸书ID,我如何获得facebook用户的信息,如姓名,国家等,而无需使用fb connect等登录?
我的意思是我可以使用php facebook客户端获取这些详细信息而不提示登录,如果我已经知道facebook id了吗?
提前致谢:)
答案 0 :(得分:3)
除非信息所属的人公开该信息(几乎没有人),否则您无法仅通过脸书ID获取该信息。
我看到的唯一解决方案是向您的用户询问扩展权限“offline_access”。 据我所知,你只能在facebook应用程序或Facebook Connect javascript库中执行此操作(例如,不能使用PHP库)。
这意味着您必须要求用户通过fb登录facebook:连接atleast一次,请求离线访问并将facebook sessionKey存储在本地数据库中。 由于您现在有离线访问权限,因此facebook sessionKey不会过期,您可以在没有用户在场的情况下登录服务器端。
这是我在获得永久会话后实现php服务器端的方式:
$this->fb = new Facebook($settings["api_key"], $settings["secret"], false, true);
$this->fb->user = $facebookUserId;
$this->fb->api_client->session_key = $sessionKey;
$this->fb->api_client->set_user($facebookUserId);
答案 1 :(得分:0)
获取私人用户信息的唯一方法是,如果您有一个应用程序,并且该用户已授予其访问权限。然后,您可以使用FQL查询获取任何数据。
$facebook->api_client->fql_query(
"SELECT first_name, last_name, location
FROM user
WHERE uid={$userid},
AND is_app_user;"
);