Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problem in Naming the Audio file in Facebook Post in Android

Friends, I posted the Audio link to Facebook Friends wall without Dialog. I'm able to play the Posted Audio link within Facebook, but i am unable to give title , name for it. Refer the Picture - I want to Post like What i expect..

What i am getting

Following is my code :

try{
String userID="1000021233268431111";
Bundle params = new Bundle();
params.putString("name", "name of link");
params.putString("title", "title of link");
params.putString("descrption", "descrption of link");
params.putString("caption", "Get utellit to send messages like this!");
params.putString("link", "http://www.looptvandfilm.com/blog/Radiohead%20-%20In%20Rainbows/01%20-%20Radiohead%20-%2015%20Step.MP3");
params.putString("type", "mp3");
params.putString("source", "http://www.looptvandfilm.com/blog/Radiohead%20-%20In%20Rainbows/01%20-%20Radiohead%20-%2015%20Step.MP3");
String  response = facebook.request(((userID == null) ? "me" : userID) + "/feed", params, "POST");       
Log.v("response", response);
 }  catch(Exception e){
}

If i try to use the JSON Array to add attachment,nothing is added in the Parameter and i am getting Empty post like this: enter image description here

Using JSON ARRAY mu code is :

    Bundle parameters = new Bundle();
JSONObject attachment = new JSONObject();
try {
    JSONObject media = new JSONObject();
    media.put("type", "mp3");
    media.put("src", "http://www.looptvandfilm.com/blog/Radiohead%20-%20In%20Rainbows/01%20-%20Radiohead%20-%2015%20Step.MP3");
    media.put("title", "Listen to your message");
    media.put("artist", "By: utellit for Android");
    media.put("album", "Utellit");
    attachment.put("media", new JSONArray().put(media));
} catch (JSONException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}
try {
    attachment.put("message", "Messages");
    attachment.put("name", "Get utellit to send messages like this!");
    attachment.put("href", "http://www.looptvandfilm.com/blog/Radiohead%20-%20In%20Rainbows/01%20-%20Radiohead%20-%2015%20Step.MP3");
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
parameters.putString("attachment", attachment.toString());
String  response =facebook.request(((userID == null) ? "me" : userID) + "/feed",parameters, "POST");
Log.v("response", response);
like image 325
Venky Avatar asked Sep 28 '11 09:09

Venky


1 Answers

Finally i got it.. Here is my solution :

try{
String link="LINK that should goes if yoy click Get utellit to send messages like this";
String amazon_link=".mp3 link that should play inside Facebook";
Bundle parameters = new Bundle();
JSONObject attachment = new JSONObject();
try {
    JSONObject media = new JSONObject();
    media.put("type", "mp3");
    media.put("src", amazon_link);
    media.put("title", "Listen to your message");
    media.put("artist", "By: utellit for Android");
    media.put("album", "Utellit");
    attachment.put("media", new JSONArray().put(media));
} catch (JSONException e1) {}

try {
    attachment.put("message", "Messages");
    attachment.put("name", "Get utellit to send messages like this!");
    attachment.put("href", link);
} catch (JSONException e) {}
parameters.putString("attachment", attachment.toString());
parameters.putString("message", "Text is lame. Listen up:");
parameters.putString("target_id", "xxxx");  // target Id to post
parameters.putString("method", "stream.publish");
String  response = facebook.request(parameters);       
}

catch(Exception e){}

In facebook.request method we should send only parameters and the Method of post should added in Attachments

Finally my Post in Facebook looks likes this :

enter image description here

like image 151
Venky Avatar answered Sep 21 '22 20:09

Venky