PHP Facebook API发布在第'页;长城

PHP Facebook API发布在第'页;长城,php,facebook,api,facebook-graph-api,Php,Facebook,Api,Facebook Graph Api,我知道,这个问题被问了上百次,但没有一个解决方案适合我。 我试图在当前用户拥有的每个页面的墙上张贴。因此,我首先获得发布\u操作、读取\u流、管理\u页面和脱机\u访问的权限。然后我通过/me/permissions检查用户是否真的授予了这些权限 然后,我尝试获取该用户的所有页面,并将其张贴在页面的墙上,如果该用户是管理员: $accounts = $facebook->api("/me/accounts", "GET", array("access_token"=>$faceboo

我知道,这个问题被问了上百次,但没有一个解决方案适合我。 我试图在当前用户拥有的每个页面的墙上张贴。因此,我首先获得发布\u操作、读取\u流、管理\u页面和脱机\u访问的权限。然后我通过/me/permissions检查用户是否真的授予了这些权限

然后,我尝试获取该用户的所有页面,并将其张贴在页面的墙上,如果该用户是管理员:

$accounts = $facebook->api("/me/accounts", "GET", array("access_token"=>$facebook->getAccessToken()));

$data = $accounts["data"];

foreach ($data as $page)
{
    if (isset($page["perms"]) && in_array("CREATE_CONTENT", $page["perms"])))
    {
        $facebook->api("/".$page["id"]."/feed", "POST", array("link"=>$link, "access_token"=>$page["access_token"]));
    }
}
但是,在页面的墙上张贴失败,并显示众所周知的错误消息

未捕获OAutheException:(#200)用户尚未授权应用程序执行此操作


有什么想法吗?我的错在哪里?

如果您可以通过Graph API Explorer或cURL对其中一个页面进行相同的调用,那么您的逻辑是正确的。因此,我会在
页面/id
调用上放置一个try/catch,以查看特定页面是否正在打乱循环

try {
    $facebook->api("/".$page["id"]."/feed", "POST", array("link"=>$link, "access_token"=>$page["access_token"]));
  } catch (FacebookApiException $e) {
    error_log($e . " for: " .$page["id"] );
  }
}

这样做肯定没有什么正当理由:/I我成功地使用了Graph API Explorer。我生成了一个具有必要权限的访问令牌,使用/me/accounts获取我页面的id和访问令牌,并使用此数据发布在/me/feed上。但是,我没有成功地使用cURL和/或phpapi。我不知道发生了什么。@user1742364您能用pure-curl构建查询并在您的问题中显示它吗?抱歉,我不知道如何发布pure-curl,但这就是我在PHP中使用它的方式:@user1742364所以它不适用于所有使用或仅使用少数页面的页面吗?我用一个拥有两个页面的测试用户测试了它。虽然他是这些页面的管理员,并且应用程序拥有所有提到的权限,但它对这些页面中的任何一个都不起作用。