如何在不强制用户接受应用的情况下从我们的Fanpage获取公共供稿

时间:2013-06-23 11:12:23

标签: facebook facebook-graph-api facebook-php-sdk facebook-apps facebook-access-token

我想将最新的facebook帖子嵌入我们的网站。 我知道Social-Plugin Likebox,但这并不是我需要的所有功能。

这是Like-Box中缺少的功能,我需要:

  • 每x分钟从我们的粉丝页面获取帖子并将其保存在我们的数据库中
  • 使用关键字过滤帖子(因为我们有帖子,只能在Facebook上显示,而不是在我们的网站上显示)
  • 还会向尚未登录Facebook的人发布帖子(从我们的数据库中读取)
  • 以我们自己的方式展示我们网站上的帖子

这就是我所做的

  • 我是我们粉丝的管理员(当然)
  • 我创建了一个Facebook应用程序来获取appid和appsecret
  • 我正在使用facebook php sdk与facebook进行交流
  • 发现,使用AppId和Secret密钥无法获得我想要的内容。

CODE:

$profileId ="XXX"    
$facebook       = new Facebook(array(
            "appId"  => "XXX",
            "secret" => "XXX",
            "cookie" => true
        ));
$curlOptions = array(
                CURLOPT_URL            => "https://graph.facebook.com/{$profileId}/posts?limit=10&access_token=" . $facebook->getAccessToken(),
                CURLOPT_HTTPAUTH       => CURLAUTH_ANYSAFE,
                CURLOPT_SSL_VERIFYPEER => false,
                CURLOPT_RETURNTRANSFER => true
            );

响应是空数据。

  • 我已经阅读了大量的主题,但我仍然遇到了麻烦

为什么我没有收到内容?

我不需要用户提供任何数据!

1 个答案:

答案 0 :(得分:1)

如果您是粉丝页面上的管理员,则可以为自己提供一个页面访问令牌,该令牌已通过方案5 https://developers.facebook.com/roadmap/offline-access-removal/无限期地扩展,并在将其保存到数据库{{1 }}

  

当用户授予应用manage_pages权限时,应用程序可以通过查询[User ID] / accounts Graph API端点获取用户管理的页面的页面访问权限。启用迁移后,使用短期用户访问令牌查询此端点时,获取的页面访问令牌也是短暂的。

     

使用端点和先前解释的步骤,为长期访问令牌交换短期用户访问令牌。

     

$facebook->setAccessToken('PAGE_ACCESS_TOKEN');

     

通过使用长期存在的用户访问令牌,查询[用户ID] /帐户端点现在将提供对用户管理的页面不会过期的页面访问权限。当使用通过弃用的offline_access权限获得的非过期用户访问令牌进行查询时,这也适用。

可以在

看到一个例子

http://philippeharewood.com/facebook/getting-your-facebook-page-on-your-website-with-access-tokens/