Facebook图形API stream.publish中的问题

时间:2011-03-16 07:58:12

标签: facebook facebook-graph-api facebook-iframe

我正在使用Graph API并使用stream.publish,它之前工作正常,但现在当我在js文件中分离JS然后我将CANVAS URL作为参数传递给javascript函数,以下是我的代码:

function feedPublish(message,image,canvasURL){
var attachment = {'media':[{'type':'image','src':image,'href':canvasURL}]};
var action_links= [{ 'text':"Music Mood", 'href': canvasURL }];
message="I am in mood of "+message;
FB.ui({'method':'stream.publish','message':message,
        'attachment':attachment,
        'action_links':action_links
    },
    function(response){

    }
);  
 }


function publishMessage(message,canvasURL){
   var emo_id='id_'+$('emoction').val();
   var emo_image=$('#'+emo_id+' img.emoction_image').attr('src');
   feedPublish(message,emo_image,canvasURL);
 }

然后从html我调用函数发布消息点击这里:

publishMessage('Gimme More (The Legendary Ms. Britney Spears)','http://apps.facebook.com/musicmood'); return false;

并在屏幕截图enter image description here中收到以下错误:

所以我无法理解问题,任何想法是什么问题或者我该如何解决?

2 个答案:

答案 0 :(得分:2)

您使用旧方法发布“stream.publish”请使用Graph API中包含的“feed”方法 有关详细信息,请访问此http://developers.facebook.com/docs/reference/javascript/fb.ui/

答案 1 :(得分:0)

Facebook says

  

请注意:我们正在弃用REST API,所以如果   您正在构建一个新的应用程序,您不应该使用此功能。   而是使用Graph API并将Post对象POST到Feed   用户对象的连接

我建议您使用图形api并向/me/feed发送一个POST请求,其参数相同。它会起作用。