[英]How can i get the admins user id of a page in facebook.?
如何使用grapg API獲取Facebook中頁面的管理員用戶ID?
例如:這將提供頁面肯德基的詳細信息
https://graph.facebook.com/126380033352
{
"id": "126380033352",
"name": "I Love KFC",
"picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/50510_126380033352_4943708_s.jpg",
"link": "http://www.facebook.com/Official.KFC",
"likes": 543485,
"category": "Food/beverages",
"username": "Official.KFC",
"founded": "1929",
"about": "KFC United Kingdom. Finger Lickin' Good.",
"can_post": true,
"talking_about_count": 8965,
"type": "page"
}
我需要獲取頁面admin的用戶ID。 我已經檢查了權限,但我不知道該如何獲得。
第一:用戶必須是該頁面的管理員。
擁有“ manage_pages”權限,請求GET https://graph.facebook.com/[PAGE_ID]?fields=access_token
作為響應,將獲得頁面管理員access_token。 現在,使用頁面admin access_token來請求GET https://graph.facebook.com/[PAGE_ID]/admins
作為回應,您將獲得管理員,他們的ID和用戶名的列表。
參考: http : //developers.facebook.com/docs/reference/api/page/
您無法獲得該應用程序的所有管理員用戶,但可以測試任何uid。
首先,您需要授予'manage_pages'權限,然后查詢page_admin表。 當前用戶的FQL實現如下所示:
$isAdmin = false;
$hasManagePerm = false;
try{
$responses = $facebook->api('fql', 'GET', Array('q' => Array(
'hasManagePerm' => 'SELECT manage_pages FROM permissions WHERE uid=me()',
'isAdmin' => 'SELECT 1 FROM page_admin WHERE uid=me() AND page_id=' . APP_FB_ID,
)));
foreach ((Array)$responses['data'] as $response) {
if($response['name'] == 'hasManagePerm') {
$hasManagePerm = !empty($response['fql_result_set'][0]['manage_pages']);
} else if($response['name'] == 'isAdmin') {
$isAdmin = !empty($response['fql_result_set']);
}
}
} catch (Exception $ex) {
}
if(empty($hasManagePerm)) {
throw new AdminPanelAccessRestrictedException("perm");
}
if(empty($isAdmin)) {
throw new AdminPanelAccessRestrictedException("admin");
}
WHERE APP_FB_ID-應用程序ID
如果您不喜歡Graph對象,則可以隨時使用FQL
fql?q=SELECT uid, page_id, type FROM page_admin WHERE page_id = {pageId}
返回此:
{
"data": [
{
"uid": "6905135096",
"page_id": "{pageId}",
"type": "ATHLETE"
},
{
"uid": "14408356540",
"page_id": "{pageId}",
"type": "ATHLETE"
},
{
"uid": "51936644133",
"page_id": "{pageId}",
"type": "ATHLETE"
},
{
"uid": "7230226073",
"page_id": "{pageId}",
"type": "ATHLETE"
}
]
}
Graph API 2.1之后,@ Sarim的'/ admins'鏈接已被棄用。
FB Graph API 2.2及更高版本使用'/ roles'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.