我一直在努力从用户的计算机上传图像,并使用Facebook Graph API发布到我们的群组页面。我能够用图像向facebook发送帖子请求但是,我收到了这个错误:错误:(#200)用户必须已经接受了TOS。在某种程度上,我不相信我需要用户授权自己,因为照片正在上传到我们的组页面。下面是我正在使用的代码:
if($albumId != null) {
$args = array(
'message' => $description
);
$args[basename($photoPath)] = '@' . realpath($photoPath);
$ch = curl_init();
$url = 'https://graph.facebook.com/'.$albumId.'/photos?'.$token;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$data = curl_exec($ch);
$photoId = json_decode($data, true);
if(isset($photoId['error'])) die('ERROR: '.$photoId['error']['message']);
$temp = explode('.', sprintf('%f', $photoId['id']));
$photoId = $temp[0];
return $photoId;
}
有人可以告诉我是否需要请求用户的额外权限或我做错了什么?
非常感谢!
实际上,我从未成功:(。作为一种解决方法,我们创建了一个新的Facebook用户而不是组页面。