0

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

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

  • 每 x 分钟从我们的粉丝专页获取帖子并将其保存在我们的数据库中
  • 用关键字过滤帖子(因为我们有帖子,这些帖子只能在 facebook 上显示,而不是在我们的网站上显示)
  • 还向尚未在 facebook 中的人显示帖子(从我们的数据库中读取)
  • 以我们自己的风格在我们的网站上显示帖子

这就是我所做的

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

代码:

$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
            );

响应是空数据。

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

为什么我看不到内容?

我不需要我们用户的任何数据!

4

1 回答 1

1

如果您是粉丝页面的管理员,您可以为自己提供一个页面访问令牌,该令牌已通过场景 5 https://developers.facebook.com/roadmap/offline-access-removal/无限期扩展并在 PHP 中设置SDK,同时将其保存到数据库$facebook->setAccessToken('PAGE_ACCESS_TOKEN');

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

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

https://graph.facebook.com/oauth/access_token?
client_id=APP_ID& client_secret=APP_SECRET& grant_type=fb_exchange_token& fb_exchange_token=EXISTING_ACCESS_TOKEN

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

一个例子可以在

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

于 2013-06-23T16:12:48.997 回答