【问题标题】:Retrieve Facebook Page wall posts检索 Facebook 页面墙上的帖子
【发布时间】:2011-08-25 04:38:39
【问题描述】:

我想在网站中加入 FB 页面墙。为此,我需要访问令牌,但在 FB 上,我是管理员之一,而不是所有者。

当我请求访问令牌时,我得到的是我的个人资料之一,而不是我正在管理的个人资料。我可以作为管理员而不是所有者获得该墙的令牌吗?

【问题讨论】:

    标签: facebook access-token


    【解决方案1】:

    如果您查看http://developers.facebook.com/docs/authentication/,您会看到有以应用程序或主页身份登录的选项:它们应该会为您提供一个访问令牌,可以满足您的需求。

    【讨论】:

      【解决方案2】:

      发件人:http://developers.facebook.com/docs/reference/api/permissions/

      "页面访问令牌

      用于管理页面的 access_token。当您要执行作为 Page 的操作时使用此选项。通过向 /USER_ID/accounts 或具有 ma​​nage_pages 权限的 /PAGE_ID?fields=access_token 发出 HTTP GET 来检索此访问令牌。获取 /USER_ID/accounts 将返回用户拥有管理权限的页面列表(包括应用配置文件页面)以及每个页面的 access_token。注意:2011 年 9 月 22 日之后,通过此连接对用户页面的所有访问都需要 manage_pages 权限,即读取用户页面和检索这些页面的 access_tokens。有关详细信息,请参阅 User 对象的文档。”

      【讨论】:

        【解决方案3】:

        Facebook 有extended 他们的page 对象,以便更轻松地检索“页面”`access_token",您需要的是:

        P.S:我正在使用 PHP-SDK

        <?php
        // This code is just a snippet of the example.php script
        // from the PHP-SDK <http://github.com/facebook/php-sdk/blob/master/examples/example.php>
        require '../src/facebook.php';
        
        // Create our Application instance (replace this with your appId and secret).
        $facebook = new Facebook(array(
          'appId'  => 'app_id',
          'secret' => 'app_secret',
        ));
        
        // Get User ID
        $user = $facebook->getUser();
        
        if ($user) {
          try {
            $page_id = 'page_id';
            $page_info = $facebook->api("/$page_id?fields=access_token");
            if( !empty($page_info['access_token']) ) {
                $args = array(
                    'access_token'  => $page_info['access_token']
                );
                $page_posts = $facebook->api("/$page_id/posts","get",$args);
            }
          } 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'=>'manage_pages,read_stream'));
        }
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-02
          • 2012-05-08
          • 1970-01-01
          • 2023-04-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多