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

时间:2013-10-08 08:08:03

标签: php facebook facebook-graph-api

有一个类似的问题:Asking for permission using new PHP SDK (3.X.X)但是没有解决我的问题。

我的应用程序是Facebook Tab应用程序(论坛),它授权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!'
                             ));

}

但这会产生错误:致命错误:未捕获OAuthException:(#200)用户未授权应用程序执行/home/facebook/public_html/demo/forum/includes/base_facebook.php中引发的此操作在1271行

对我做错了什么的任何想法?请注意,我尝试在应用程序设置(developers.facebook.com)上添加相同的权限,但我再次没有运气。我肯定错过了什么,但这是什么?

谢谢

1 个答案:

答案 0 :(得分:0)

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