0

我正在解决这个问题,所以我在这里提交。

我为我母亲创建了一个 Facebook 粉丝专页和一个网站来宣传她的音乐。因为她已经习惯了 facebook,所以我决定不要创建一个完整的后台,该网站将简单地显示粉丝页面的帖子、照片和事件。我通过简单的调用来做到这一点

$data= $fb->api('/'.PAGE_ID.'/posts?fields=id');

例如(或“笔记”、“事件”...)。问题是我必须使用从我自己的“我/帐户/”权限中获得的特定访问令牌。有时(比如每个月)我必须去 Graph API Explorer,获取该令牌,并将其保存在网站配置中。

我想知道我是否无法在我的网站上生成该访问令牌服务器端,但我似乎无法实现。除非我是经过身份验证的用户(显然),否则facebook PHP SDK 无法访问我的api('/accounts')图形结果,并且对api(PAGE_ID.'?fields=access_token')的调用仅返回页面的 ID。

我究竟做错了什么?facebook php sdk 可以代表我(独立于用户)进行 api 调用吗?

更多信息:我创建了粉丝专页,以及一个名为 feed reader 的简单应用,拥有 *manage_pages* 权限。我是唯一授权该应用程序的用户,我不希望网站上的用户必须登录(他们为什么要登录?这是我的粉丝专页,为什么我需要他们的 *manage_page* 权限?)。

老实说,我觉得公共帖子也应该在图形 api 中公开,但我相信这是有原因的。

4

1 回答 1

1

老实说,我觉得公共帖子也应该在图形 api 中公开,但我相信这是有原因的。

您可以像这样访问任何用户的公共帖子: 注意:这假设您在这里使用 PHP SDK http://developers.facebook.com/docs/reference/php/

$facebook = new Facebook(
    array(
        'appId'  => 'fb_app_id',
        'secret' => 'fb_secret',
    )
);

$url = '/' . 'fb_username' . '/posts?fields=id,name,created_time,message,story,type&limit=10'; // you might need to screw with this some
$page = $facebook->api($url);
while(count($page['data']) > 0)
{
    foreach($page['data'] as $fb_post)
    {
        // USE THEM DATAS
    }
    // Keep retrieving next pages until spent            
    $url_parts = parse_url($page['paging']['next']);
    $url = '/' . 'fb_username' . '/posts?' . $url_parts['query'];
    $page = $facebook->api($url);  
}

这是来自:https ://github.com/fyaconiello/WP_Social_Network_Posts/ 的示例,它将 FB 帖子拉入并将 em 保存为 WP 帖子。写它是为了回答一个不同的问题。

于 2013-01-22T22:08:38.290 回答