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

Php 获取用户运行我的应用程序并访问其全名的授权,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我如何获得用户在我需要时运行我的应用程序并访问其全名的授权?下面是一个包含在我的所有应用程序文件之上的文件。实际上,它甚至不需要用户授权就可以像Cityville和其他应用程序一样运行 <?php include_once 'facebook/facebook.php'; $facebook = new Facebook(array( 'appId' => 'APPID', 'secret' => 'APPSECRET' )); $user = $facebook-

我如何获得用户在我需要时运行我的应用程序并访问其全名的授权?下面是一个包含在我的所有应用程序文件之上的文件。实际上,它甚至不需要用户授权就可以像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知道您需要什么权限。您可以在中找到有关可以传递的权限的信息

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


或者,一旦你有了他们登录所需的地址,你可以使用php的header函数将他们重定向到此页面,而不需要他们实际单击a链接。

我稍微修改了代码,现在它获得了登录链接并将用户重定向到该页面。然而,Facebook总是给我一条错误消息,告诉测试用户:发生了错误。请稍后再试。。以防不清楚,我的应用程序使用iframe在画布页面中运行。您对getLoginUrl的调用是什么样子的?您是否确保请求了正确的权限?$url=$facebook->getLoginUrlarray'scope'=>“脱机访问,发布操作”;然后echo top.location.href='$url';;然后退出;