Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当用户同意并给予我的Facebook应用许可时?_Facebook_Facebook Php Sdk_Facebook Apps - Fatal编程技术网

当用户同意并给予我的Facebook应用许可时?

当用户同意并给予我的Facebook应用许可时?,facebook,facebook-php-sdk,facebook-apps,Facebook,Facebook Php Sdk,Facebook Apps,我开发了一个Facebook应用程序,我使用PHP sdk,我使用中描述的算法允许用户加入我的应用程序,然后我将他/她的用户id存储在数据库中。我的应用程序使用发布流权限,因此它会自动将帖子发布到用户的时间线 我发现应用程序始终无法为数据库中的一些注册用户(并非所有用户)发布帖子。我考虑到这一点,因为他们可能会在批准所需权限之前注册到数据库。以下是我在Facebook api官方文档中使用的代码的蓝图: <?php require_once('php-sdk/facebook.ph

我开发了一个Facebook应用程序,我使用PHP sdk,我使用中描述的算法允许用户加入我的应用程序,然后我将他/她的用户id存储在数据库中。我的应用程序使用发布流权限,因此它会自动将帖子发布到用户的时间线

我发现应用程序始终无法为数据库中的一些注册用户(并非所有用户)发布帖子。我考虑到这一点,因为他们可能会在批准所需权限之前注册到数据库。以下是我在Facebook api官方文档中使用的代码的蓝图:

<?php  
  require_once('php-sdk/facebook.php');
  $config = array(
    'appId' => 'YOUR_APP_ID',
    'secret' => 'YOUR_APP_SECRET',
  );
  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();
?>
<html>
  <head></head>
  <body>

  <?php
    if($user_id) {
      try {
       /* $user_profile = $facebook->api('/me','GET');
        echo "Name: " . $user_profile['name'];*/
     //Here I run the code to save.
         saveTheUserIdToRecordInTheDB($user_id);
       //hypothetical function to save

      } catch(FacebookApiException $e) {
        // If the user is logged out, you can have a 
        // user ID even though the access token is invalid.
        // In this case, we'll get an exception, so we'll
        // just ask the user to login again here.
        $login_url = $facebook->getLoginUrl(); 
        echo 'Please <a href="' . $login_url . '">login.</a>';
        error_log($e->getType());
        error_log($e->getMessage());
      }   
    } else {

      // No user, print a link for the user to login
      $login_url = $facebook->getLoginUrl();
      echo 'Please <a href="' . $login_url . '">login.</a>';

    }

  ?>

  </body>
</html> 

我的主要问题是:如果用户单击了登录链接,然后由于任何原因(失去互联网连接、拒绝授予应用程序权限等)而不继续,是否可能使用假设的函数savetheuserid to cordinthedb()运行该用户的Facebook ID并将其保存到数据库


为什么有些用户无法发布帖子?

用户可以随时撤销发布权限want@FabioAntunes是的,我知道,但我需要知道,在代码逻辑中,用户何时同意并给予许可?!