使用Facebook图表只需发布一个墙上的消息只是JavaScript

在Facebook中,我怎样才能在用户的墙上张贴一条消息,说:“我在对象游戏上取得了8/10”,然后是一个URL?

我真的不想使用完整的API,因为我不想处理用户login细节。 我不介意Facebook是否需要进行身份validation,然后发布消息。

是否有可能使用新的Graph API和JavaScript?

注意2011年4月16日: stream.publish似乎已被弃用,有一个新的方法来做到这一点: http : //developers.facebook.com/docs/reference/dialogs/feed/

您可以使用类似这样的内容发布到墙上,用户在发送之前需要进行确认。 不要忘记,您将需要使用FB.init并包含JS SDK链接。

function fb_publish() { FB.ui( { method: 'stream.publish', message: 'Message here.', attachment: { name: 'Name here', caption: 'Caption here.', description: ( 'description here' ), href: 'url here' }, action_links: [ { text: 'Code', href: 'action url here' } ], user_prompt_message: 'Personal message here' }, function(response) { if (response && response.post_id) { alert('Post was published.'); } else { alert('Post was not published.'); } } ); } 

在墙上张贴将显示一个对话框,以分享墙上的消息或不。 但是我想在用户的墙上默默地发布信息,假设用户已经给了“Post on Wall”许可。

 FB.api('/me/feed', 'post', { message:'my_message', link:YOUR_SITE_URL, picture:picture_url name: 'Post name', description: 'description' },function(data) { console.log(data); }); 

考虑到你有一个代理来进行跨域调用,你可以简单地这样做…

在这个例子中,YourProxyMethod需要一个jQuery.ajax哈希,使服务器端发布和返回成功/错误callback中的响应。 任何正规的代理应该做的。

诀窍是在我自己的URL中包含app_id和access_token。 此外,你的FB应用程序应该有足够的权限来打这个电话。

 YourProxyMethod({ url : "https://graph.facebook.com/ID/feed?app_id=APP_ID&access_token=ACCESS_TOKEN", method : "post", params : { message : "message", name : "name", caption : "caption", description : "desc" }, success : function(response) { console.log(response); }, error : function(response) { console.log("Error!"); console.log(response); } });