Facebook JS - FB.api()只发布消息,而不是媒体附件

时间:2012-03-21 18:34:11

标签: javascript android facebook-graph-api

我正在尝试使用mp3附件发布到活动用户墙。它工作得很好 Facebook的测试控制台(见下文),但当我从我的移动应用程序调用它时,它只发布消息。我在这里缺少什么:(

Facebook的测试控制台:http://developers.facebook.com/docs/reference/rest/stream.publish/

这是我的JS ......

登录

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

附件贴墙

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

1 个答案:

答案 0 :(得分:0)

        var attachment = {
                'message': 'testing',
                'source': 'http://www.looptvandfilm.com/blog/Radiohead%20-%20In%20Rainbows/01%20-%20Radiohead%20-%2015%20Step.MP3'
        };

这会将mp3发布到您的Feed,允许用户点击内嵌播放按钮。请参阅此处的工作示例:http://jsfiddle.net/dmcs/aggJc/1/

正如您将注意到的那样,当您将POST数据添加到Graph API时,格式与您GET同一个对象的格式不同。发布是一种速记符号版本,而获取是长手。