2016-12-19 4 views
0

Я хочу опубликовать видео с Rest FBRestFB любая идея, как я могу узнать о ходе выполнения видео?

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) {} 

это работает очень хорошо, но я хотел бы знать, если это возможно, чтобы знать «статус» загрузку. Я имею в виду, что я хотел бы иметь индикатор выполнения или процент или что-то в этом роде.

Большое спасибо!

ответ

0

Ваш метод опубликовывать возвращает экземпляр видео я думаю, где вы можете найти исходный код здесь: 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) {} 
+0

несчастливо он не работает: (У меня есть исключение NullPointerException, потому что «ответ» равен –

+0

Без моих изменений, в вашем исходном коде, что возвращает response.getType()? – Xephi

+0

ответ «null», когда я делаю response.getType() –

1

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

Video video facebookClient.fetchObject(response.getId(),Video.class, Parameter.with("fields", "status")); 

И возможно проверить с отлаживать:

logger.debug("Progress... " + video.getStatus().getProcessingProgress()); 
+0

Пожалуйста, найдите время, чтобы ознакомиться с блоками форматирования, цитаты (строки с префиксом '>') для текста, цитируемого из других источников. Для кода используйте блоки кода (4 пробела). –

 Смежные вопросы

  • Нет связанных вопросов^_^