2011-06-08 69 views
2

我的代码不工作,上传做得好,但标注失败:(
它显示致命错误:未捕获OAuthException:(#121)无效的带照片的身份证丢照片标记问题 - 的Facebook /图形API

$facebook->setFileUploadSupport(true); 
$album_details = array(
'message'=> 'Description', 
'name'=> 'Name' 
); 
$create_album = $facebook->api('/me/albums', 'post', $album_details); 
$photo_details = array(
'message'=> 'Photo Description', 
'tags'=> makeTagArray($friendsID), 
); 
$photo_details['image'] = '@' . realpath('img/'.$img_name); 
// $upload_photo = $facebook->api('/'.$create_album['id'].'/photos', 'post', $photo_details); 

$upload_photo = $facebook->api('/'.$create_album['id'].'/photos?access_token='.$facebook->getAccessToken(),'post', $photo_details); 

function makeTagArray($userId) { 
foreach($userId as $id) { 
     $tags[] = array('tag_uid'=>$id, 'x'=>$x,'y'=>$y); 
     $x+=50; 
     $y+=50; 
    } 
$tags = json_encode($tags); 
return $tags; 
} 

其他必要的信息

'req_perms' => 'publish_stream,status_update,user_photos' 

我也试过,但没有工作,就说明数据[]

$x=5; 
$response=''; 
for ($i=0;$i<count($friendsName);$i++) 
{ 
    $post_url = "https://graph.facebook.com/".$upload_photo['id']."/tags/".$friendsID[$i]."?access_token=".$facebook->getAccessToken()."&amp;x=".$x."&amp;y=80&amp;method=POST"; 
    $response = $response.file_get_contents($post_url); 
    $x = $x + 53; 
} 

Examle $ POST_URL对一个人的话,我这运行在一个循环中的所有人员

https://graph.facebook.com/Pic_ID/tags/620949133?access_token=Access_Token|2.AQDOMdHNge0UCXG6.3600.1307613600.1-100001916529381|lCYzRYy9YPJvy1WBqkuoGVWvd50&x=5&y=80&method=POST

显示
{
"error" : {
"type": "OAuthException",
"message": "An access token is required to request this resource."
} }

我也有些变了值有意

+0

该问题与代码无关,GRAPH API出现问题,现在它已解决:) – Sourav 2011-06-10 14:04:14

回答

2

此权限添加到所需的权限:user_photos

+0

仍然显示**致命错误:未捕获的OAuthException:(#121)无效的照片ID ** – Sourav 2011-06-08 13:08:44

0
  1. 您需要请求publish_stream许可。
  2. 您需要提出多个请求,每个Facebook用户/页面要添加1个标签。

为了让你需要在Facebook的图片ID和用户ID的请求。 张贴要么PHOTO_ID /标签?到= USER_ID或PHOTO_ID /标签/ USER_ID,与X & Y坐标作为变量。

看到这里的官方文档(http://developers.facebook.com/docs/reference/api/photo/)获得更多指导。

+0

@sourav您能否提供示例post_url你正在尝试使用,这将使你更容易看到你如何得到这个错误。 – CameraSchoolDropout 2011-06-09 06:31:37

+0

我更新了它,请看它! – Sourav 2011-06-09 12:59:57

+0

@sourav是否成功上传相关照片?从您添加的网址中可以看出,您没有收到出现在您的网址中的“photo_id”或pic_id。得到的是这里所描述的带照片的身份证,http://stackoverflow.com/questions/3484159/how-to-tag-photos-in-facebook-api它要求除了GraphAPI REST功能 – CameraSchoolDropout 2011-06-09 23:27:23

0

我不知道这是可能的,但你可以给它一个尝试。首先尝试上传照片。然后从上传的照片中获取照片的ID,然后将标签添加到上传的照片中。

+0

问题是相同的 – Sourav 2011-06-17 17:31:44