デバイスからユーザーの壁に画像を投稿しようとしています。私は見つけました:http://codenameone.blogspot.com/2011/09/lwuit-and-facebook-api-by-chen-fishbein_18.html、しかしそれは投稿画像をサポートしていないので、私は次のような簡単なメソッドを書きましたこれ:
public void postOnWallWithPhoto(String userId, String message, byte[] img) throws IOException {
checkAuthentication();
FacebookRESTService con = new FacebookRESTService(token, userId, FEED, true);
con.setContentType("image/jpeg");
con.addArgument("message", message);
con.addArgument("type", "photo");
con.addArgument("picture", img);
if (slider != null) {
SliderBridge.bindProgress(con, slider);
}
for (int i = 0; i < responseCodeListeners.size(); i++) {
con.addResponseCodeListener((ActionListener) elementAt(i));
}
current = con;
NetworkManager.getInstance().addToQueueAndWait(con);
}
このメソッドは次のように呼び出されます。
FileConnection fc = (FileConnection) Connector.open(path);
InputStream is = fc.openInputStream();
byte[] b = new byte[(int) fc.fileSize()];
is.read(b);
FaceBookAccess.getInstance().postOnWallWithPhoto(me.getId(), "test2", b);
リクエストを送信した後、壁にはテキストのみが表示されます(この例ではtest2)。画像があるはずの場所に、「無効です。無効です」というメッセージが表示されます。
誰かが私が間違っていることを知っていますか?または、Facebookの壁に画像を投稿するのに役立つコードを誰かが私と共有できますか?