2012-04-06 92 views
-1

我已经从Git下载了Facebook Android SDK,并按照developers.facebook中的步骤操作,并获得了应用程序ID并运行了一些示例代码。我可以在墙上张贴状态。现在我正试图在墙上贴一张描述或标题,但我不能。我浏览过,大多数情况下我找到了下面的代码作为照片上传的答案。从Android上传照片到Facebook墙/相册

public void postImageonWall() { 
    byte[] data = null; 

    Bitmap bi = BitmapFactory.decodeFile("/sdcard/cutedog.jpg"); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    bi.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
    data = baos.toByteArray(); 
    Bundle params = new Bundle(); 
    params.putString(Facebook.TOKEN, mFacebook.getAccessToken()); 
    params.putString("method", "photos.upload"); 
    params.putByteArray("picture", data); 
    params.putString("caption", "So Cuuteee!!"); 
    AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook); 
    mAsyncRunner.request(null, params, "POST", new SampleUploadListener(), null); 
} 

对于这一点,我得到的回应是 { “PID”: “100003180585600_320223”, “援助”: “100003180585600_43760”, “主人”:100003180585600, “SRC”:“HTTP:// photos- g.ak.fbcdn.net/hphotos-ak-prn1/533575_198930480222970_100003180585600_320223_995139351_s.jpg","src_big":"http://a7.sphotos.ak.fbcdn.net/hphotos-ak-prn1/s720x720/533575_198930480222970_100003180585600_320223_995139351_n.jpg” “src_small”: “http://photos-g.ak.fbcdn.net/hphotos-ak-prn1/533575_198930480222970_100003180585600_320223_995139351_t.jpg”, “链接”:“http://www.facebook.com/photo.php? fbid = 198930480222970 & set = a.198930373556314.43760.100003180585600 & type = 1“,”caption“:”So Cuuteee !!“,”created“:13337186​​24,”object_id“:198930480222970}

该照片上传到某处(它给出了一些URL)作为一个小尺寸的图片。但不是在Facebook的墙上或专辑。通过观察堆栈溢出问题Android - How to upload photo from the SD card to the Facebook wall,我试图

mAsyncRunner.request("me/photos", params, "POST", new SampleUploadListener(), null); 

mAsyncRunner.request("me/feed", params, "POST", new SampleUploadListener(), null); 

在这两方面,我得到了下面的响应

{"error":{"message":"Unsupported method, photos.upload","type":"Exception"}} 

如何在墙壁上上传?

回答

0

看到源代码在https://github.com/facebook/facebook-android-sdk/tree/master/examples/Hackbook/src/com/facebook/android

它包含如何上传图片的源代码。

+0

谢谢Rstar..I可以上传使用该示例,但是当我尝试作为独立项目(我自己的)我不能添加com_facebook_android作为库项目,当我添加它没有采取..只是显示交叉mark.any想法请.. – Karthi 2012-04-09 05:07:22

3

您的应用程序是否有权限photo_upload将照片上传到Facebook?

试试这个代码:

Bundle params = new Bundle(); 
params.putString("method", "photos.upload"); 

FileInputStream in; 
BufferedInputStream buf; 
try { 
    File file = new File("/sdcard/cutedog.jpg"); 

    in = new FileInputStream(file); 
    buf = new BufferedInputStream(in,1070); 

    byte[] bMapArray= new byte[buf.available()]; 
    buf.read(bMapArray); 
    params.putByteArray("picture", bMapArray); 
} catch (FileNotFoundException e1) { 
    // TODO Auto-generated catch block 
    e1.printStackTrace(); 
} catch (IOException e1) { 
    // TODO Auto-generated catch block 
    e1.printStackTrace(); 
} 

mAsyncRunner.request(null, params, "POST",new SampleUploadListener(), null); 
+0

:“权限”是指在<使用权限>或任何注册应用程序? – Karthi 2012-04-06 17:36:54

+0

感谢您的回复vamshi – Karthi 2012-04-09 05:03:35

+0

SampleUploadListener类在哪里? – 2014-01-30 10:20:06