获得用户授权以运行我的应用程序并访问其全名

时间:2011-08-27 19:28:22

标签: php facebook facebook-graph-api

如何获得用户授权运行我的应用程序并在需要时随时访问其全名?以下是包含在我所有应用程序文件之上的文件。实际上,它甚至没有像其他应用程序那样要求用户授权(例如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();

有人能说我做出请求的正确方法吗?

1 个答案:

答案 0 :(得分:0)

我会回答这个问题,因为我认为PHP API的文档是不存在的,他们给你的例子就是你所使用的,并不是那么好。虽然我认为谷歌的一些时刻会给你答案。

你是对的,它没有记录用户。

然而,检查用户是否已登录,如果正在获取用户配置文件信息并生成注销链接。

如果用户未登录,则会生成一个链接,用户需要点击该链接才能登录您的网站,并授予您网站访问该帐户的权限。

至于您的应用程序需要什么权限,您需要将该信息放在 - &gt; getLoginUrl()调用中,以便facebook知道您需要哪些权限。您可以在http://developers.facebook.com/docs/reference/api/permissions/

找到有关您可以传递的权限的信息

一旦此人点击了生成的链接,就会将他们带到Facebook,要求他们登录并授予您的网站权限,然后重定向回其来自的页面,或者重定向到另一个页面(取决于您告诉的内容)它在getLoginUrl调用中)。此时,用户现在已登录到您的站点,您可以运行使用API​​来获取信息。

或者,一旦你有了他们需要去的地址才能登录,你可以使用php的头文件功能将它们重定向到这个页面而不必实际点击一个链接。