我如何获得用户的授权来运行我的应用程序并在需要时访问他们的全名?以下是我所有申请文件中包含的一个文件。实际上,它甚至不像其他应用程序(如cityville和其他应用程序)那样要求用户授权。
<?php
include_once 'facebook/facebook.php';
$facebook = new Facebook(array(
'appId' => 'APPID',
'secret' => 'APPSECRET'
));
$user = $facebook->getUser();
if($user)
{
try
{
$me = $facebook->api('/me?fields=id,name,locale');
}
catch(FacebookApiException $e)
{
error_log($e);
$user = null;
}
}
if($user)
$logoutUrl = $facebook->getLogoutUrl();
else
$loginUrl = $facebook->getLoginUrl();
谁能告诉我做这个请求的正确方法? 我会回答这个问题,因为我认为PHP API的文档是不存在的,他们给你的例子,就是你正在使用的,不是那么好。不过我觉得你在谷歌上搜索一下就能找到答案。
你是正确的,它不是在登录用户。
然而,它正在检查用户是否已经登录,如果是,它正在获取用户配置文件信息并生成一个注销链接。
如果用户没有登录,它会生成一个链接,用户需要点击才能登录到你的网站,并给予你的网站访问该帐户的权限。
至于你的应用程序需要什么权限,你需要把这些信息放在->getLoginUrl()调用中,这样facebook就知道你需要什么权限。您可以在http://developers.facebook.com/docs/reference/api/permissions/
找到有关您可以传递的权限的信息。一旦这个人点击了生成的链接,它会把他们带到facebook,要求他们登录并授予你的网站权限,然后重定向到它来自的页面,或者到另一个页面(取决于你在getLoginUrl调用中告诉它的内容)。此时,用户已经登录到您的站点,您可以运行使用API来获取信息。
或者,一旦你有了他们登录所需的地址,你可以使用php的header函数将他们重定向到这个页面,而不需要他们实际点击链接。