【发布时间】:2012-08-02 12:29:47
【问题描述】:
到现在为止,我已经花了太多时间来解决这个问题,已经阅读了我能找到的关于这个问题的所有内容,但还没有答案,请帮忙。
我正在尝试使用 facebook 应用程序和 Graph API 在 facebook 页面墙上发布图像:
<?php
$facebook = new Facebook(array(
'appId' => $this->settings['app_id'],
'secret' => $this->settings['app_secret'],
'fileUpload' => true,
));
$facebook->destroySession();
$filename = dirname(__FILE__) . '/upset.jpg';
$args = array(
'message' => 'Test',
'image' => '@' . realpath($filename),
'access_token' => $this->settings['user_access_token'],
);
try {
$result = $facebook->api($this->settings['fanpage_id'] . '/photos',
'post', $args);
var_dump($result);
}
catch(Exception $e) {
echo $e->getType() . "\n" . $e->getMessage() . "\n";
}
此代码确实向页面墙发布了一条消息(当我将 '/photos' 替换为 '/feed' 时),并且确实将照片发布到 USER 墙上(当我更改 $this->settings['fanpage_id' ] 到 $user_id) 但不是照片到页面墙。
它确实上传了图片:$result 包含上传图片的 id,我可以在 facebook 上看到它,但不是在页面的相册中,而是在用户的相册中。
附:我试图通过调用 /accounts 来获取页面访问令牌 - 结果相同。 附言用户访问令牌具有manage_pages、photo_upload 和其他权限(实际上除了offline_access)
【问题讨论】:
标签: php facebook facebook-graph-api