2012-04-06 3 views
-1

Ich habe das Facebook Android SDK von Git heruntergeladen und folgte den Schritten wie in developers.facebook und bekam eine Anwendungs-ID und einige Beispielcode ausführen. Ich kann den Status an der Wand posten. Jetzt versuche ich ein Foto mit einer Beschreibung oder Bildunterschrift an die Wand zu laden, aber ich kann es nicht. Ich blätterte und meistens fand ich folgenden Code als Antwort für Foto-Upload.Laden Sie Fotos auf Facebook Wand/Album von Android

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

Dafür bekam ich die Antwort als { "pid": "100003180585600_320223", "Hilfe": "100003180585600_43760", "Besitzer": 100003180585600 "src": "http: // Fotos- 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_10000318585600_320223_995139351_t.jpg", "link": "http://www.facebook.com/photo.php? fbid = 198930480222970 & set = a.198930373556314.43760.10000318585600 & Typ = 1 "," Bildunterschrift ":" So Cuteee !! "," erstellt ": 1333718624," object_id ": 198930480222970}

Das Foto wird irgendwo hochgeladen (es gibt einige URL) als ein kleines Bild. Aber nicht auf der Facebook-Wand oder dem Album. Wenn wir sehen Stack-Überlauf Frage Android - How to upload photo from the SD card to the Facebook wall, habe ich versucht,

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

und

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

Für beide habe ich folgendes als Antwort

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

Wie kann ich an der Wand hochladen?

Antwort

0

den Quellcode auf https://github.com/facebook/facebook-android-sdk/tree/master/examples/Hackbook/src/com/facebook/android See.

Es enthält Quellcode zum Hochladen eines Bildes.

+0

Danke Rstar..I kann mit diesem Beispiel hochladen, aber wenn ich als seperate Projekt (meine eigenen) versuchte ich kann nicht die com_facebook_android als Bibliothek Projekt, Wenn ich es hinzufügen nicht nehmen..es zeigt nur das Kreuz mark.any Idee Bitte.. – Karthi

3

Hat Ihre Anwendung die Berechtigung photo_upload, um ein Foto auf Facebook hochzuladen?

Versuchen Sie diesen Code:

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

: "Erlaubnis" bedeutet in oder irgendetwas bei der Registrierung der App? – Karthi

+0

Vielen Dank für Ihre Antwort vamshi – Karthi

+0

Wo ist SampleUploadListener Klasse? –