Facebook API如何只允许一个组的成员访问该应用程序

时间:2013-05-21 06:23:39

标签: php facebook login member facebook-group

我目前正在使用这个PHP代码。

使用我现在使用的代码,我遇到了一些问题。

  1. 当我登录时,只要求允许使用id / username而不是group。
  2. 我收到此错误消息: “警告:在第23行的index.php中为foreach()提供的参数无效”,这是该组的foreach检查。
  3. 是的,我的代码中设置了正确的值,我只是不希望整个世界都知道它。

    <?php
    require 'src/facebook.php';
    
    // Create our Application instance (replace this with your appId and secret).
    $facebook = new Facebook(array(
      'appId'  => 'APP ID',
      'secret' => 'SECRET',
    ));
    
    // Logg ut
    if(isset($_GET['action']) && $_GET['action'] === 'logout'){
        $facebook->destroySession();
    }
    
    // Get User ID
    $user = $facebook->getUser();
    
    if ($user) {
      try {
        // Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me?fields=id,name,groups','GET');
        $user_belongs_to_group= FALSE;
        foreach($user_profile['groups']['data'] as $group){
            if($group['id']===GROUP ID){ // Gruppeid
                $user_belongs_to_group=TRUE;
            }
        }
        if($user_belongs_to_group){
            echo "Good du tilhører gruppen";
        }else{
            echo "Ikke good, du tilhører ikke gruppen";
        }
      } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
      }
    }
    
    // Login or logout url will be needed depending on current user state.
    if ($user) {
      $logoutUrl = $facebook->getLogoutUrl();
    } else {
      $loginUrl = $facebook->getLoginUrl();
    }
    
    ?>
    

0 个答案:

没有答案