Como usar a API do Facebook Java para adicionar um anexo a um post de parede?
-
26-09-2019 - |
Pergunta
Ei, tenho alguns problemas para usar o método stream_publish, mais exatamente com o anexo que quero incluir. Estou construindo um aplicativo de desktop e quero poder postar na parede do usuário. A postagem incluirá uma mensagem e uma foto que farei do meu HDD local. O problema é que não sei como especificar o atributo de origem do anexo. Aqui está um trecho de código:
Attachment attachment = new Attachment(); AttachmentMedia media = new AttachmentMediaImage("file:/c:/picture.png", "file:/c:/picture.png"); attachment.addMedia(media); facebook.stream_publish("picture", attachment, null, new Long(xxxxxxxL), null);
Simplesmente não consigo descobrir como construir o objeto AnextMediaimage. Eu continuo recebendo a seguinte exceção:
com.google.code.facebookapi.FacebookException: One or more of your image records failed to include a valid 'href' field. at com.google.code.facebookapi.JsonHelper.parseCallResult(JsonHelper.java:59) at com.google.code.facebookapi.ExtensibleClient.extractString(ExtensibleClient.java:2296) at com.google.code.facebookapi.ExtensibleClient.stream_publish(ExtensibleClient.java:2150) at com.google.code.facebookapi.SpecificReturnTypeAdapter.stream_publish(SpecificReturnTypeAdapter.java:503) at MainWindow$1.titleChange(MainWindow.java:64) at org.jdesktop.jdic.browser.WebBrowser.dispatchWebBrowserEvent(Unknown Source) at org.jdesktop.jdic.browser.NativeEventThread$2.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Qualquer ajuda será apreciada. Obrigado!
Solução
Ao criar o AttachmentMediaImage
Você precisa usar um URL de uma imagem em um servidor público da web - você não pode fazer upload de uma imagem local usando esta API.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow