在Android中的Facebook Post中命名音频文件时出现问题

Ven*_*nky 5 audio post android facebook

朋友们,我在没有Dialog的情况下发布了音频链接到Facebook Friends wall.我可以在Facebook中播放发布的音频链接,但我无法给出标题,名称.参考图片 - 我想发布像我所期待的..

我得到了什么

以下是我的代码:

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){
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用JSON数组添加附件,参数中没有添加任何内容,我将收到像这样的空帖子: 在此输入图像描述

使用JSON ARRAY mu代码是:

    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);
Run Code Online (Sandbox Code Playgroud)

Ven*_*nky 7

最后我明白了.这是我的解决方案:

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);       
}
Run Code Online (Sandbox Code Playgroud)

catch(例外e){}

facebook.request 方法中,我们应该只发送参数,在附件中添加帖子方法

最后我在Facebook的帖子看起来像这样:

在此输入图像描述