【问题标题】:Facebook request permissions example?Facebook请求权限示例?
【发布时间】:2013-02-23 06:50:25
【问题描述】:

我一直在寻找一个关于如何通过 facebook 登录实现请求权限的实际示例,但我找不到。我能找到的只是权限的名称,关于要问什么的建议,但没有例子。

问题是:我在哪里以及如何使用 php 或 js 请求权限?一点代码会很有帮助。我是 facebook 开发的新手,我已经开始阅读有关 facebook 登录和 facebook api 的所有内容,并尝试做一些小应用程序,所以我习惯了事情的工作方式,但我有点卡住了。


编辑我找到了这段代码,这似乎是我一直在寻找的:

FB.login(function(response) {
  // handle the response
}, {scope: 'email,publish_actions'})

【问题讨论】:

    标签: php javascript facebook authentication permissions


    【解决方案1】:

    你应该从Facebook PHP SDK开始,关键是要了解服务器端的登录流程,正如here解释的那样,你可以以这个例子作为开始:

    require 'facebook.php';
    
    $facebook = new Facebook(array(
      'appId'  => 'YOUR_APP_ID',
      'secret' => 'YOU_APP_SECRET',
    ));
    
    // Get User ID
    $user = $facebook->getUser();
    
    // We may or may not have this data based on whether the user is logged in.
    // If we have a $user id here, it means we know the user is logged into
    // Facebook, but we don't know if the access token is valid. An access
    // token is invalid if the user logged out of Facebook.
    
    if ($user) {
      try {
        // Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me');
      } 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(array("scope" => "user_photos"));
    }
    
    ?>
    <!doctype html>
    <html xmlns:fb="http://www.facebook.com/2008/fbml">
      <head>
        <title></title>
      </head>
      <body>    
        <?php if ($user): ?>
          <a href="<?php echo $logoutUrl; ?>">Logout</a>
        <?php else: ?>
          <div>
            <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
          </div>
        <?php endif ?>
    
        <h3>PHP Session</h3>
        <pre><?php print_r($_SESSION); ?></pre>
    
        <?php if ($user): ?>
          <h3>You</h3>
          <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
    
          <h3>Your User Object (/me)</h3>
          <pre><?php print_r($user_profile); ?></pre>
        <?php else: ?>
          <strong><em>You are not Connected.</em></strong>
        <?php endif ?>
    
      </body>
    </html>
    

    【讨论】:

    • 我确实看过那里。我需要一个实际的例子,有很多理论,但我很想看到一些代码。例如请求访问用户照片的代码。简单的东西,但一个例子
    • 如果您想要用户的照片,您需要请求array("scope" =&gt; "user_photos"),然后将用户重定向到$loginUrl,此时他将登录到facebook,或者授予您的应用程序访问他标记的图像的权限在(确保您指定返回 url 到您的应用程序硬编码或在应用程序设置中,然后您应该能够运行 api 命令来获取照片。
    • 据我所知,$loginUrl 仅显示您的应用尝试访问的信息,但实际上并未请求访问。然而,我可能弄错了。差异非常显着。
    • 这是因为您需要先在对话框中授权权限,然后回到您的应用程序中您可以运行 api 请求,因为您已授予权限。
    • 哦,好像还可以,我搜了一下。谢谢
    猜你喜欢
    • 2015-08-23
    • 1970-01-01
    • 2012-12-27
    • 2012-08-07
    • 2015-07-24
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多