我如何获得用户的授权来运行我的应用程序,并在需要时随时访问他们的全名?下面是包含在我所有应用程序文件之上的文件。实际上,它甚至不需要用户授权就可以像其他应用程序(如CittyVille和其他应用程序)那样运行。
<?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();有人能告诉我做这个请求的正确方法吗?
发布于 2011-08-28 06:31:17
我会回答这个问题,因为我认为PHP的文档是不存在的,而且他们给你的例子,也就是你正在使用的例子,并不是很好。不过,我确实认为谷歌一下就能给你答案。
您是对的,它没有让用户登录。
但是,它正在检查用户是否已经登录,如果已经登录,它将获取用户的配置文件信息并生成一个注销链接。
如果用户未登录,它将生成一个链接,用户需要单击该链接才能登录到您的站点,并授予您的站点访问该帐户的权限。
至于您的应用程序需要哪些权限,您需要将该信息放在->getLoginUrl()调用中,以便facebook知道您需要哪些权限。您可以在http://developers.facebook.com/docs/reference/api/permissions/上找到有关可以传递的权限的信息
一旦这个人点击了生成的链接,它就会把他们带到facebook,要求他们登录并授予你的网站权限,然后重定向回它来自的页面,或者重定向到另一个页面(这取决于你在getLoginUrl调用中告诉它的内容)。此时,用户已经登录到您的站点,您可以运行use the API来获取信息。
或者,一旦你有了他们登录所需的地址,你就可以使用php的头函数将他们重定向到这个页面,而不需要他们实际点击a链接。
https://stackoverflow.com/questions/7216853
复制相似问题