проблема с тегами фотографий - Facebook / Graph API - PullRequest
2 голосов
/ 08 июня 2011

Мой код не работает, загрузка выполнена правильно, но пометка не удалась: (
Это показывает фатальную ошибку: Uncaught OAuthException: (# 121) Неверный идентификатор фото брошен

$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;
 }

Пример $ 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

Показывает
{<br> "error" : {<br> "type": "OAuthException",<br> "message": "An access token is required to request this resource."<br> } }
я намеренно изменил какое-то значение

Ответы [ 3 ]

2 голосов
/ 08 июня 2011

Добавьте это разрешение к необходимым разрешениям: user_photos

0 голосов
/ 17 июня 2011

Я не знаю, возможно ли это, но вы можете попробовать.Попробуйте сначала загрузить фото.Затем получите идентификатор фотографии из загруженной фотографии, а затем добавьте теги к загруженной фотографии.

0 голосов
/ 08 июня 2011
  1. Вам необходимо запросить разрешение publish_stream.
  2. Вам нужно сделать несколько запросов, по 1 на каждого пользователя / страницу Facebook, на который вы указываете теги.

Чтобы сделатьзапросить вам нужно изображение идентификатора в Facebook и идентификатор пользователя.Публикация в PHOTO_ID / tags? To = USER_ID или PHOTO_ID / tags / USER_ID с координатами X & Y в качестве переменных.

См. Официальную документацию здесь (http://developers.facebook.com/docs/reference/api/photo/) для получения дополнительных указаний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...