2010-08-19 3 views
1

Я хочу, чтобы на ваших страницах пользователей происходило синхронизация событий. Для этого я сначала подтвердил, что пользователь имеет права администратора для данной страницы. Я google, но я не могу понять, как я проверил, что у пользователя есть права администратора для данной страницы.проверить, есть ли у пользователя права администратора для данной страницы вентилятора для синхронизации событий с помощью Facebook Graph ApI

У кого-нибудь есть идея?

ответ

0

Для этого достаточно немного хромого кода. Предупреждение. Для получения списка страниц требуется почти секунда.

if ($session) 
{ 
    # Find out if we're an admin 
    $adminpages = $facebook->api(array(
             'method' => 'fql.query', 
             'query' => "SELECT page_id FROM page_admin WHERE uid='$uid'", 
} 

function isAdmin($thisid) 
{ 
    global $adminpages; 

    $pageadmin = false; 
    if ($adminpages) 
    { 
    foreach ($adminpages as $i => $page) 
    { 
     if ($page['page_id'] === $thisid) 
     { 
     $pageadmin = true; 
     } 
    } 
    } 

    return($pageadmin); 
} 
2

Если вы используете страница приложения IFrame лучший способ сделать это:

function parsePageSignedRequest() { 
    if (isset($_REQUEST['signed_request'])) { 
     $encoded_sig = null; 
     $payload = null; 
     list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2); 
     $sig = base64_decode(strtr($encoded_sig, '-_', '+/')); 
     $data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true)); 
     return $data; 
    } 
    return false; 
} 

function userIsAdmin() { 
    if($signed_request = parsePageSignedRequest()) { 
     return ($signed_request->page->admin) ; 
    } 
    else { 
     return false; 
    } 
} 

Приветствия

Смежные вопросы