使用 Facebook Graph API 检查用户是否拥有事件同步给定粉丝页面的管理员权限

发布于 2024-09-14 16:57:17 字数 104 浏览 4 评论 0原文

我希望代表他们在用户的粉丝页面上进行事件同步。首先,我确认用户拥有给定页面的管理员权限。 我用谷歌搜索,但我不知道我如何检查该用户是否拥有给定页面的管理员权限。

有人有想法吗?

I want Event Syncing on user's fan pages on their behalfs. For this first i confirmed that user has the admin rights for given page.
I google but I can't figure out that how i checked that user has the admin rights for given page.

Any one has idea??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月下凄凉 2024-09-21 16:57:17

如果您使用 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;
    }
}

干杯

If you're using an iframe application page the best way to do this is:

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;
    }
}

Cheers

御弟哥哥 2024-09-21 16:57:17

这是一些稍微蹩脚的代码来做到这一点。警告 - 检索页面列表需要几乎一秒钟的时间。

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);
}

Here's some slightly lame code to do it. Warning - it takes almost a second to retrieve the list of pages.

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);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文