RestFB любая идея, как я могу узнать прогресс загрузки видео?
Я хочу опубликовать видео с Rest FB
try {
FileInputStream fis = new FileInputStream(new File("MySuperFile"));
FacebookType response = facebookClient.publish(user.getId()+"/videos", FacebookType.class,
BinaryAttachment.with("formatOfMySuperVideo",fis),
Parameter.with("description","TheDescriptionOfMySuperVideo"));
} catch (FileNotFoundException ea) {}
это работает очень хорошо, НО я хотел бы знать, возможно ли узнать "статус" загрузки. Я имею в виду, что я хотел бы иметь индикатор выполнения или процент или что-то подобное.
Большое спасибо!
2 ответа
Прежде всего вам нужно сделать еще один запрос, чтобы получить поля видео. Я имею в виду, что после того, как вы опубликовали запрос, вы должны получить postId, таким образом, следующий шаг:
Video video facebookClient.fetchObject(response.getId(),Video.class, Parameter.with("fields", "status"));
И, возможно, проверить с отладкой:
logger.debug("Progress... " + video.getStatus().getProcessingProgress());
Я думаю, что ваш метод публикации вернет экземпляр видео, где вы можете найти исходный код здесь: Video.java
Также проверьте ответ правильный тип:
if (response instanceof Video)
// Do Something
Теперь вы можете получить статус видео: Video.java # L644
Video video = (Video) response;
response.getStatus().getProcessingProgress(); // Contain a percentage
Изменить: похоже, вы должны немного изменить свой код, чтобы получить видео:
try {
FileInputStream fis = new FileInputStream(new File("MySuperFile"));
Video response = facebookClient.publish(user.getId()+"/videos", Video.class, BinaryAttachment.with("formatOfMySuperVideo",fis), Parameter.with("description","TheDescriptionOfMySuperVideo"));
response.getStatus().getProcessingProgress(); // Contain the upload percentage
} catch (FileNotFoundException ea) {}