Проблема с присвоением имени аудиофайлу в посте Facebook в Android - PullRequest
5 голосов
/ 28 сентября 2011

Друзья, я разместил ссылку Аудио на стене друзей в Facebook без диалога. Я могу воспроизвести ссылку «Опубликованный звук» на Facebook, но не могу назвать название и название. См. Картинку - я хочу отправить как What i expect ..

What i am getting

Ниже мой код:

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

Если я пытаюсь использовать массив JSON для добавления вложения, в параметре ничего не добавляется, и я получаю пустую запись, подобную этой: enter image description here

Использование кода 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);

1 Ответ

7 голосов
/ 28 сентября 2011

Наконец-то я понял .. Вот мое решение:

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

В facebook.request методе мы должны отправлять только параметров и Метод сообщения должен быть добавлен во вложениях

Наконец, мой пост в Facebook выглядит так:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...