Да, вы можете использовать клиентский токен на стороне сервера. Обычно, когда пользователь входит в Facebook, fb создает токен доступа в cookie, к которому вы можете получить доступ как на клиенте, так и на сервере, и когда пользователь вышел из системы, cookie являетсяуничтожен и токен доступа становится недействительным.
И чтобы загрузить фотографии на Facebook, я использовал следующий код:
// $ friends - это массив идентификаторов друзей, которые будут отмечены на фотографии
// $ x и$ y - позиция тегов.
for($i=0;$i<sizeof($friends);$i++)
{
$tags[] = array(
'tag_uid'=>$friends[$i],
'x' => $x[$i],
'y' => $y[$i],
);
}
$photo_details = array(
'access_token'=>$access_token ,
'message'=> 'Any message',
'tags' => $tags
);
$file=$photo_name; //Example image file
$photo_details['image'] = '@' . realpath($file);
$upload_photo = $facebook->api('/me/photos', 'post', $photo_details);