Tumblr API v2 не может загрузить действительное фото

Используя вызов API blog/{blog-host}/post в API oAuth v2 для публикации фотографии, у меня возникла проблема с указанием «источника» изображения. API требует, чтобы этот параметр был источником изображения: http://www.tumblr.com/docs/en/api/v2#posting

Я использую изображение на своем сервере, например, это. Facebook и другие API принимают и обрабатывают его правильно: http://streamified.me/p/d4xh6o/

К сожалению, я получаю следующий ответ от Tumblr:

мета = {

       msg = "Bad Request";
        status = 400;
};
response =         {
    errors =             (
        "Error uploading photo."
    );

};

Публикация других типов статуса работает нормально...


person Zane Claes    schedule 22.02.2012    source источник
comment
Не могли бы вы опубликовать часть кода, который вы использовали, чтобы заставить это работать? Мне трудно создать мой почтовый запрос.   -  person BananaNeil    schedule 15.05.2012
comment
Согласно моему ответу ниже, в основном вы просто хотите сделать заголовок ('location: $image_url'); а затем прервите свой сценарий. Если у вас нет $image_url (поскольку это данные локального файла на вашем сервере), просто запишите данные во временный файл и используйте его в качестве URL-адреса.   -  person Zane Claes    schedule 21.05.2012
comment
нет, я имею в виду полный кусок кода... я думаю, я просто не совсем понимаю, как должен быть выложен почтовый запрос, и я не могу нигде найти хороших примеров. Это именно то, что я хочу сделать, я просто не могу понять это вообще.   -  person BananaNeil    schedule 22.05.2012
comment
на самом деле больше нет кода, который я мог бы предоставить. Я имею в виду, серьезно, вот оно: header('location: '.$image_url); возвращение; ... как только вы это сделаете, ваш скрипт перенаправляется на $image_url и прерывается. Вот и все. Конечно, вам нужен URL-адрес изображения для перенаправления, но я не могу вам с этим помочь.   -  person Zane Claes    schedule 05.06.2012


Ответы (1)


Что ж, похоже, я решил проблему. Мой сервер обслуживал изображение (приведенный выше URL) через PHP-скрипт. Несмотря на то, что данные заголовка и т. д. были отправлены правильно, а изображение нормально отображалось во всех браузерах, API Tumblr не распознавал его как изображение. Перенаправление на URL-адрес .jpg работало нормально.

Я бы посчитал это ошибкой в ​​​​Tumblr API, но обходной путь для меня «достаточно хорош».

person Zane Claes    schedule 22.02.2012
comment
tumblr api действительно глючит. -_- - person BananaNeil; 15.05.2012
comment
перенаправление на URL-адрес jpg? Вы имеете в виду, что разместили изображение, используя исходный параметр вместо данных? - person gerbz; 25.07.2012
comment
@ggwarpig Да. Если вы посмотрите на документацию API Tumblr, там говорится, что источник данных нужен в виде строки или URL-адреса, но не в виде фактического файла данных, что кажется глупым.... - person Supertecnoboff; 01.06.2014
comment
Спасибо, сэр! Вы только что спасли мой день! Я изо всех сил пытался загрузить изображение для публикации фотографий всеми возможными способами (данные/данные64/исходный URL-адрес), и я все время получал неверный запрос. Ваш ответ в формате JPG натолкнул меня на мысль — я попробовал другой файл, и оказалось, что у Tumblr просто возникли проблемы с тем самым GIF, который я пытаюсь загрузить!! Иногда дело не в коде, а в ресурсе, который вы загружаете неправильно :D - person Роман Гуйван; 09.01.2016