将照片作为开放图形Facebook页面发布

时间:2012-08-15 04:35:53

标签: php facebook facebook-graph-api

我的应用程序有许多打开的图形页面。除了照片,我能够将这些页面发布得很好。我收到“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,但是你可以使用一种方法对一个函数进行身份验证,然后对另一个函数采用另一种方式,这似乎有点愚蠢。如果可能的话,我想避免用户登录。

1 个答案:

答案 0 :(得分: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'];

另请参阅:Developer blog post