проверьте, есть ли у пользователя права администратора для данной фан-страницы для синхронизации событий с помощью API Graph Graph ApI - PullRequest
1 голос
/ 19 августа 2010

Я хочу синхронизировать события на фан-страницах пользователей от их имени.Для этого я сначала подтвердил, что у пользователя есть права администратора для данной страницы.Я Google, но я не могу понять, как я проверил, что у пользователя есть права администратора для данной страницы.

Кто-нибудь есть идея ??

Ответы [ 2 ]

2 голосов
/ 01 августа 2011

Если вы используете страницу приложения 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;
    }
}

Приветствия

0 голосов
/ 10 января 2011

Вот немного слабоватый код, чтобы сделать это. Предупреждение - получение списка страниц занимает почти секунду.

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...