使用Javascript和Facebook图形API

问题描述:

我试图发布到另一个用户墙,所以它会显示好像他自己发布了这篇文章。例如,我想在他的墙上写下“我在Youngo.com上发布了一篇新文章”。使用Javascript和Facebook图形API

我有离线访问和流发布权限。我也有访问令牌。我只是不知道如何使用JavaScript来做到这一点。

如果您试图直接从JavaScript发布到FB的API,它将无法工作。由于JavaScript不允许跨域请求,因此您必须将自己的api与自己的域上的Web服务一起打包。

+0

我可以发布到自己的流或让我的网站发布到当前用户的会话(只要他给了正确的权限......)那么,为什么我无法代表其他用户发布如果我有他的访问令牌? – 2010-08-06 20:41:13

+0

JSON-P可以在任何地方启用跨域请求。现代浏览器(IE8 +,FF3,Chrome,Safari)也可以实现这一功能。 Flash也有帮助。 – daaku 2010-08-06 23:50:57

+0

当JavaScript从外部调用所在的同一个域(通过JavaScript)加载时,我不认为需要JSONP。 – Anurag 2010-08-07 16:25:22

你的意思是这样的:

var wallPost = { 
    access_token: "<ACCESS_TOKEN>", 
    message: 'Hello, World!' 
}; 

FB.api('/<UID>/feed', 'post', wallPost, function(response) { 
    if (!response || response.error) { 
     alert('Error occurred'); 
    } else { 
     alert('Success!'); 
    } 
}); 
+0

是的,但是当我尝试这个时,我收到了'错误发生'的消息 – 2010-08-06 21:01:43

+0

@Omri你准确得到了什么错误?将响应转储到萤火虫控制台中。 – serg 2010-08-06 21:17:16

+0

当令牌是我的,UID是“我”时 - 这是有效的。 但是,如果我将令牌和UID更改为另一个用户,它会向我发出错误提醒。我可以使用什么来查看完整的错误细节? – 2010-08-06 21:35:51