Я хотел бы загрузить фотографию в facebook для пользователя в альбом по умолчанию для приложения. Это описано ниже при публикации: http://developers.facebook.com/docs/reference/api/photoИсключение при загрузке фотографии с помощью Facebook Graph API
На этот метод был дан ответ: How can I upload photos to album using Facebook Graph API. Я использую следующие:
$args = array(
'message' => 'Photo Caption',
'image' => '@'.realpath("image.png")
);
$data = $facebook->api('/me/photos', 'post', $args);
Однако я получаю исключение «(# 324) Требуется файл для загрузки», когда я пытаюсь это. У меня есть действующий сеанс, и у меня есть права publish_stream и user_photos. Я могу получить данные с помощью API. Файл изображения определенно действителен, так как он может быть загружен file_get_contents(realpath("image.png"))
.
Я попытался это решение, используя завиток, который отлично работает: Upload Photo To Album with Facebook's Graph API
$args = array(
'message' => 'Photo from application',
'pic.png' => '@'.realpath('pic.png')
);
$tok = $session['access_token']
$url = 'http://graph.facebook.com/'.$album_id.'/photos?access_token='.$tok;
$ch = curl_init();
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);
$data = curl_exec($ch);
По сравнению с PHP SDK завитка Facebook, которая выглядит следующим образом (используя те же $ арг и $ URL):
$ch = curl_init();
$opts = self::$CURL_OPTS;
$opts[CURLOPT_POSTFIELDS] = http_build_query($args, null, '&');
$opts[CURLOPT_URL] = $url;
curl_setopt_array($ch, $opts);
$data= curl_exec($ch);
Почему версия PHP не работает? Похоже, что функция http_build_query() мешает загрузке изображения. Я не знаю достаточно о завитке, чтобы понять, что здесь происходит.
спасибо за это - спас меня после долгого времени поиска – Lobe
Если вы используете это, имейте в виду, что созданные пользователем сообщения могут создавать желательные или вредоносные загрузки файлов. – peterjwest
Спасибо! Вы могли бы подумать, что это будет заметно в документации для загрузки фотографий. , , WTH !!! – TuK