Php Facebook Graph API-安装该应用程序的朋友的问题

Php Facebook Graph API-安装该应用程序的朋友的问题,php,android,facebook,facebook-graph-api,Php,Android,Facebook,Facebook Graph Api,我有一个android客户端,可以启动登录facebook,接收访问令牌和其他有关个人资料的详细信息。 android客户端将访问令牌和详细信息传递给服务器(PHP) 两者都安装了facebook sdk 当我从PHP启动FacebookRequest时,例如“/me/”,它正在工作 但是当我从PHP发起(安装了应用程序的朋友)facebook请求时 “/我/朋友”。我得到“空”。 当我使用facebook提供的图形浏览器时,结果是: { "data": [ ] } 帮助者的其他信息:

我有一个android客户端,可以启动登录facebook,接收访问令牌和其他有关个人资料的详细信息。

android客户端将访问令牌和详细信息传递给服务器(PHP)

两者都安装了facebook sdk

当我从PHP启动FacebookRequest时,例如“/me/”,它正在工作

但是当我从PHP发起(安装了应用程序的朋友)facebook请求时 “/我/朋友”。我得到“空”。

当我使用facebook提供的图形浏览器时,结果是:

{
  "data": [
  ]
}
帮助者的其他信息:

  • 该应用目前只包含两名用户,他们是facebook上的好友

  • 这些用户都是应用程序的管理员

  • 当前该应用程序未实时\发布

  • 我们还没有在统计数据和评论中像建议的那样“开始提交”

  • 我们请求“用户朋友”权限

由于堆栈溢出中的所有内容都需要声誉, 权限是这样的:

谢谢

编辑:


好的,我添加了两个测试用户,使他们成为彼此的朋友,/me/friends通过图形浏览器为他们工作

但是为什么它不适用于非测试用户呢?

好的, 显然Facebook在提供新的访问令牌时遇到了问题。 不知道为什么,但它为新登录提供了相同的访问令牌

现在他们修复了我用PHP编写的一个方便的函数,它可以让用户 分析Facebook的回复,这可能会在手,因为没有任何解释的文件,谷歌,StackOverFlow

use Facebook\FacebookSession;
use Facebook\FacebookRequest;

function find_my_facebook_friends($access_token){

require_once 'facebook-php-sdk-v4-4.0-dev/autoload.php';

FacebookSession::setDefaultApplication('app_key','secret_key');


$session = new FacebookSession($access_token);
$request = new FacebookRequest(
    $session,
    'GET',
    '/me/friends'
);

  $response = $request->execute();
  $graphObject = $response->getGraphObject()->asArray();

  return $graphObject;



   }
用法:

   include_once 'path/to/function.php';
  //You wanna use it, just so the PHP file contains your app_key, secret_key Wont be exposed.

   $access_token = isset($_POST['access_token']) ? $_POST['access_token'] : NULL;
   $facebook_object = find_my_facebook_friends($access_token);


   for($i = 0 ; $i < count($facebook_object['data']) ; $i++){

    $id = get_object_vars($facebook_object['data'][$i]);
    echo $id['id'];
    echo $id['name'];
   //You don't have to echo, you could handle those fields as you wanted.

}
include_once'path/to/function.php';
//你想使用它,只是为了让PHP文件包含你的应用程序密钥,秘密密钥不会被公开。
$access\U token=isset($\U POST['access\U token'])$_POST['access_token']:NULL;
$facebook\u object=find\u my\u facebook\u friends($access\u token);
对于($i=0;$i
此功能是指移动客户端将其登录用户的访问令牌传递给服务器

我希望这将节省你很多时间