1

我有一个有许多打开的图形页面的应用程序。除了照片,我可以发布这些页面就好了。我收到“PHP 致命错误:未捕获的 OAuthException:请求此资源需要用户访问令牌。” 这没有任何意义,因为我可以将页面作为页面发布到提要没有问题。

继承人的代码:

require_once ('facebook.php');

$fb = new Facebook(array(
'appId'  => 'XXX',
'secret' => 'XXX',
));  

$fb->setFileUploadSupport(true);

$args = array('message' => 'Photo Caption');
$args['image'] = '@' . realpath("testpic.jpg");

$data = $fb->api("/PAGEID/photos", "post", $args);

print_r($data);
?>

这可以在不需要用户登录的情况下完成吗?我读到您可以以用户身份请求页面 access_token ,但是您可以使用一种方法对一个功能进行身份验证,然后再使用另一种方法来验证另一个功能,这似乎有点愚蠢。如果可能,我想避免用户登录。

4

1 回答 1

0

发布照片的应用程序需要在 $args 中包含一个用于管理页面的访问令牌。这也称为“页面访问令牌”或“页面令牌”。

$args['access_token'] = $access_token;

我获得这种访问令牌的方式是manage_pages,publish_stream从作为页面管理员的用户(我)那里获得权限。然后:

$page_info = $facebook->api('/'.$PAGE_ID.'?fields=access_token');

和:

$access_token = $page_info['access_token'];

另请参阅:开发人员博客文章

于 2012-08-16T01:47:41.667 回答