错误消息 OAuthException:(#100)图片网址格式不正确
我有一个非常奇怪的问题,我可以使用图形api在我的页面相册上传图片,但是当我尝试使用图形api发布图片时,它无效,
注意当我发布消息或链接到墙壁时,它会被发布,问题只出在图片上。
我在这里放两段代码片段:
1,这是我试图将图片上传到页面相册(工作)时:
$facebook->setFileUploadSupport("http://apps.facebook.com/pagecron");
$x=realpath($_FILES['source']['tmp_name']);
$parameters = array('message' => $_POST['message'],'source' =>'@' . $x );
$parameters['access_token'] = $_SESSION['active']['access_token'];
$check=$facebook->api('/'.$_SESSION['active']['id'].'/photos/','POST',$parameters);
2,这是我试图将图片发布到墙上(不工作):
$img = realpath($y);
$facebook->setFileUploadSupport("http://apps.facebook.com/pagecron");
$x=realpath($_FILES['source']['tmp_name']);
$parameters = array('message' => $_POST['message'],'picture' =>'@' . $x );
$parameters['access_token'] = $_SESSION['active']['access_token'];
$check=$facebook->api('/'.$_SESSION['active']['id'].'/feed/','POST',$parameters);
答案 0 :(得分:2)
Ist Thing :您需要发布到/TIMELINE_PHOTOS_ALBUM_ID/photos
。
第二件事:可能没有这样一个名字的专辑,所以你应该创建它(检查后)。
如何:
$albums =$facebook->api('pageid/albums',GET,array('access_token'=>'access_token');
foreach($albums['data'] as $album)
{
if($album['name'] == 'TIMELINE_PHOTOS')
{
$uid = $album['id'];
}
}
if(isset($uid) && $uid !=0)
{
//mean album is there so use that uid to post your photo
}
else
{
//create your album with that name and use its id
}
答案 1 :(得分:1)
如果您想将照片发布到用户的墙上,您需要POST
到/TIMELINE_PHOTOS_ALBUM_ID/photos
。
这里似乎没有捷径可以解决这个问题。您需要搜索/USER_ID/albums
的结果,以查找名为“时间线照片”的相册的album_id
(或使用FQL获取)。
documentation表示专辑限制为200张照片。如果用户的“时间轴照片”专辑中有超过200张照片,我不确定会发生什么。我找不到朋友去检查这个。