我正在使用Facebook PHP SDK并尝试将图片发布到用户的墙上。但是我得到以下错误:
“致命错误:未捕获OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。在第1033行的C:\ developing ... \ base_facebook.php中抛出”
我知道我的访问令牌无效,但我无法理解原因。我有全局的facebook对象,我在我的网站的子网站上使用$ facebook-> api函数(不同的url,我有orginally请求访问令牌)。我的问题是,我的子网站需要新的访问令牌吗?基本上这意味着我还需要新的应用密钥和密码,因为Facebook只允许重定向开发者网站中的一个页面。
以下是非常基本的api电话:
$ upload_photo = $ this-> facebook-> api('/ me / photos?access_token ='。 $ this-> facebook-> getAccessToken(),'post',$ photo_details);
答案 0 :(得分:1)
我不是百分百肯定,但我认为这个问题与域无关。当你打电话
$this->facebook->getAccessToken();
这可以为您提供用户访问令牌和您正在使用的Facebook应用程序的访问令牌。要在用户的墙上发布,您需要一个用户(或页面)的访问令牌,代表您要发布墙贴。
如果使用的令牌是正确的,那么另一个原因可能是您的应用程序没有发布墙所需的权限。您的应用需要extended permissions,例如“publish_stream”权限。
也许本教程可以为您提供进一步的帮助: http://thinkdiff.net/facebook/php-sdk-3-0-graph-api-base-facebook-connect-tutorial/
它解释了如何生成FB-Login链接并需要扩展权限。