Facebook PHP API“用户尚未授权应用程序”


Facebook PHP API "user hasn't authorized the application”

有一个

类似的问题:使用新的PHP SDK(3.X.X(请求权限,但不能解决我的问题。

我的应用程序是一个Facebook标签应用程序(论坛(,它授权FB用户能够在论坛中发帖。目前为止,一切都好。授权工作正常。现在我想扩展一点我的应用程序,以便订阅线程的用户能够将应用程序发布在他们的时间线上。

我正在尝试的测试是:

    require_once('./includes/facebook.php');
$facebook = new Facebook(array(
    'appId'  => $CFG["appid"],
    'secret' => $CFG["appsecret"],
    'oauth' => true,
    'scope' => 'status_update,publish_stream,publish_actions',
    'cookie' => true
));
$facebookid = '';
$facebookid = $facebook->getUser();
if (!empty($facebookid))
{
    $facebook_info = array();
    $facebook_info=$facebook->api('/me');
    $facebook->api('/me/feed', 'POST',
                                array(
                                  'link' => 'www.example.com',
                                  'message' => 'Posting with the PHP SDK!'
                             ));

}

但这会产生错误: 致命错误: 未捕获的 OAuth异常: (#200( 用户尚未授权应用程序执行此操作 在/home/facebook/public_html/demo/forum/include/base_facebook.php 第 1271 行

知道我做错了什么吗?请注意,我尝试在应用程序设置(developers.facebook.com(中添加相同的权限,但同样没有运气。当然我错过了一些东西,但这是什么?

谢谢

>base_facebook.php,连同你使用的代码,让我觉得你正在使用Facebook PHP-SDK库。 publish_streampublish_actions现在是一回事,所以你可以跳过它。 status_update 我从未见过。要发布状态,您只需要publish_actions .确保您使用的是更新的库(他们会不时更新(,可以在 github 上下载。该库给了我类似的错误,我无法找出原因,所以我编写了自己的身份验证过程,这并不复杂。现在,我想到的只是您必须检查您要求的权限,检查用户是否已授权该应用程序(该库使用 getUser(); 完成(,并检查您是否拥有最新版本的库。如果一切都出错,请尝试使用简单的身份验证 url 并通过打印从 API 获得的内容进行调试。此外,请尝试确保回调 URL 始终相同。我希望这有帮助...