0

根据我进行的几次搜索,这是我为了发送我刚刚保存在 SD 卡上的图像而写的

    public void postToWall() throws FileNotFoundException, MalformedURLException, IOException {
    loginToFacebook();
    if (facebook.isSessionValid()) {
        // Ok le login est bien enregistre
        Bundle bundle = new Bundle();
        bundle.putString("message","test");
        File file = (File) this.getIntent().getExtras().get("PICTURE_TAKEN");
        FileInputStream fis = new FileInputStream(file);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int data2 = 0;
            while ((data2 = fis.read()) != -1)
                baos.write(data2);
            fis.close();
            byte[] bytes = baos.toByteArray();
            baos.close();
            bundle.putByteArray("Picture", bytes);
        mAsyncRunner.request("me/feed", bundle, "POST", new FacebookPostListener(), null);
    }
}

我成功发布了短信“消息”,但没有发布图片!(额外的“PICTURE_TAKEN”是与拍摄照片相关的文件)

4

2 回答 2

0

如果您正在开始一个新项目,您应该使用Android 版 Facebook SDK 3.0 版,其中发布照片非常容易:请参阅Request.newUploadPhotoRequest

于 2013-01-30T18:13:35.677 回答
0

好的,所以我已经解决了我的问题,只需在 mAsyncRunner.request("me/feed", bundle, "POST", new FacebookPostListener(), null); 中将“me/feed”替换为“photos”。

于 2013-01-31T09:26:11.470 回答