I’m trying to post to the active users wall with a mp3 attachment. It works fine from
Facebook’s Test Console (see below), but when I call it from my mobile app, It only posts the message. What am I missing here 🙁
Facebook’s Test Console: http://developers.facebook.com/docs/reference/rest/stream.publish/
Here is my JS…
Login
FB.login(
function(response) {
if (response.authResponse) {
alert('logged in');
} else {
alert('not logged in');
}
},{ scope: "email,user_likes,publish_stream,offline_access" } //added offline_access to see if that was the problem
);
Post to wall with attachment
var attachment = {
'message': 'testing',
'attachment': {'media': [{
'type': 'mp3',
'src': 'http://www.looptvandfilm.com/blog/Radiohead%20-%20In%20Rainbows/01%20-%20Radiohead%20-%2015%20Step.MP3',
'title': 'Test Title',
'artist': 'My Artist',
'album': 'My Album' }]}
};
FB.api('/me/feed', 'post', attachment, function(response) {
if (!response || response.error) {
alert(response.error.message);
} else {
alert('Post ID: ' + response.id);
}
});
This will post the mp3 to your feed allowing a user to click a play button inline. See working example here: http://jsfiddle.net/dmcs/aggJc/1/
As you will note, that when you
POSTdata to the Graph API, the formatting is different than when youGETthe same object back. Posting is kinda shorthand notation version and the Getting is the long hand.