Facebook PHP - 将错误发布到时间线而不是页面

Facebook PHP - posting error to timeline but not to page

我正在尝试 post 使用 PHP 到 Facebook 帐户(有权限) API。我给我们的用户两个选项 - posting 到 Feed,和 posting 到特定的 Facebook 页面。我在第一种情况下遇到错误,但是 不是在第二种情况下。在下面的代码中:

$access_token 是我从链接到我的应用程序返回的访问令牌。它的类型 “用户”,并具有以下权限:

 email
 pages_show_list
 business_management
 pages_read_engagement
 pages_manage_metadata
 pages_read_user_content
 pages_manage_ads
 pages_manage_posts
 pages_manage_engagement
 public_profile

其中 $page_token 是一个“页面”类型的令牌,具有相同的权限集。

当我post到页面时,它工作正常。但是当我尝试 post 到时间轴时,我得到 错误:

Graph Error 200 : [Timeline]: [(#200) If posting to a group, requires app being 
installed in the group, and either publish_to_groups permission with user token, 
or both pages_read_engagement and pages_manage_posts permission with page token; 
If posting to a page, requires both pages_read_engagement and pages_manage_posts 
as an admin with sufficient administrative permission]

我不是想 post 加入群组,我是 post 加入帐户的时间表。而且,根据 访问令牌调试器,无论如何我都有请求的权限。怎么回事?

我的代码如下:

$linkData = [
                'link'            => $link_to_post,
                'appsecret_proof' => $app_secret_proof
            ];

if ( POSTING TO TIMELINE )
{
    $token   = $access_token;
    $post_to = "/me/feed";
}
else
{
    $page_id = $page_id;
    $token   = $page_token;
    $post_to = "/$page_id/feed";
}

// THIS THROWS THE EXCEPTION:
$response = $this->fb->post($post_to, $linkData,  $token);

您不能再通过 API post 访问个人时间线,它已经在很久以前被删除了。 (随着 API v2.4 的介绍,如果我没记错的话。)

您只能使用“分享”或“动态”对话框,为用户提供一种主动分享/制作 post 自己 https://developers.facebook.com/docs/sharing/web 的方式