Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检索Facebook页面所有者/管理员的配置文件ID_Facebook_Facebook Graph Api - Fatal编程技术网

检索Facebook页面所有者/管理员的配置文件ID

检索Facebook页面所有者/管理员的配置文件ID,facebook,facebook-graph-api,Facebook,Facebook Graph Api,在早期版本的PHP SDK中,应用程序能够获取安装应用程序的页面所有者的配置文件ID $facebook->get_profile_user() 这是可能的,没有最终用户授权访问Facebook应用程序 然而,我在新的JS或Graph API中找不到任何类似的东西。我能找到的最接近的东西是https://graph.facebook.com//admins,但此调用似乎不起作用,或者需要附加权限: Access Token:AAADF5PRI7BkBAKSz9Wqfbkuib6JH7Wk

在早期版本的PHP SDK中,应用程序能够获取安装应用程序的页面所有者的配置文件ID

$facebook->get_profile_user()
这是可能的,没有最终用户授权访问Facebook应用程序

然而,我在新的JS或Graph API中找不到任何类似的东西。我能找到的最接近的东西是
https://graph.facebook.com//admins
,但此调用似乎不起作用,或者需要附加权限:

Access Token:AAADF5PRI7BkBAKSz9Wqfbkuib6JH7WkZCQDZBgLNO10s1ZAMKF7BO7Y3YCVqkYNuCJ9QroWHYYn8n5wC8diPuBDPGsNUS5tDnZAZA6rFSx28VtpvVhUlY
Graph API: /210093142392039/admins
$this->facebook->api('/291231207559006/admins')

( ! ) Fatal error: Uncaught OAuthException: (#210) Subject must be a page. thrown in /html/classes/facebook/base_facebook.php on line 1033

这个功能消失了吗?我们将配置文件ID用作数据源中的密钥,因此最好保留相同的密钥,否则我们可以开始存储页面ID,但是用户必须重新初始化应用程序。

2011年9月22日之后,需要管理页面权限才能这样做。 您必须请求管理页面权限,获取页面访问令牌,然后使用页面访问令牌发出管理员请求


请参阅以获取更新的权限。

好吧,我以前也遇到过同样的问题,并找到了解决方案。我所做的是传递页面访问令牌的用户访问令牌intead。我建议你试试这样的东西

$pageIds=$facebook->api('/me/accounts');
$pageAccessToken=$pageIds["data"][1]["access_token"]; //get the access token for page "[1]" over here  
然后试试看

facebook->api('/<page id>/admins', 'get' , array("access_token" => $pageAccessToken));
facebook->api('//admins',get',array(“access_token”=>$pageAccessToken));

看来无论我尝试什么,我都会得到与您相同的回复,即使是我的页面。文档上写着,你可以在这里检查某个用户id是否是管理员:但除此之外。。。困惑既然你在追查/me/accounts,用户是否还需要授予应用程序访问权限才能使其工作?我收到“用户需要活动访问令牌”异常。没错,您需要“管理页面”权限。既然它给出了一个“用户需要主动访问令牌”的例外,我建议您阅读本文。不确定,但我希望它能有所帮助。谢谢你提供的信息,我认为这在这方面不再是一个可以解决的问题。我的解决方案是从SignedRequest中获取PageID,并将其用作密钥,如果需要AdminId,则在注册时将两者关联起来,而不是在以后的某个时间。我使用上面的代码检查了graph api explorer,并能够获取页面的管理员或所有者。所以它肯定会起作用。访问令牌一定有问题。。。我只是在猜测。嘿,为什么不在GraphAPI浏览器上尝试一下,看看是否出了什么问题。