使用accounts-facebook
包在Meteor中执行常见的Facebook操作需要哪些步骤?我正在尝试获取一个朋友列表,在墙上发帖,并最终执行其他操作,但我不确定如何继续。
发布于 2013-04-04 02:12:18
更新:对meteor 0.6.0稍作修改
您需要使用API来帮助您,例如nodefacebook graph api:https://github.com/criso/fbgraph
你需要做一个包装。您需要创建一个名为/packages
的目录,并在其中创建一个名为fbgraph
的目录。
每个包都需要一个package.js
(放在fbgraph目录中)。在您的package.js
中,您可以使用以下内容:
Package.describe({
summary: "Facebook fbgraph npm module",
});
Package.on_use(function (api) {
api.add_files('server.js', 'server');
});
Npm.depends({fbgraph:"0.2.6"});
服务器端js - server.js
Meteor.methods({
'postToFacebok':function(text) {
var graph = Npm.require('fbgraph');
if(Meteor.user().services.facebook.accessToken) {
graph.setAccessToken(Meteor.user().services.facebook.accessToken);
var future = new Future();
var onComplete = future.resolver();
//Async Meteor (help from : https://gist.github.com/possibilities/3443021
graph.post('/me/feed',{message:text},function(err,result) {
return onComplete(err, result);
}
Future.wait(future);
}else{
return false;
}
}
});
然后在登录到客户端时
客户端js
Meteor.call("postToFacebook", "Im posting to my wall!", function(err,result) {
if(!err) alert("Posted to facebook");
});
Fbgraph存储库:https://github.com/criso/fbgraph
请求列表的图形接口文档:https://developers.facebook.com/docs/reference/api/
Async (在向客户端返回数据之前等待facebook的回调):https://gist.github.com/possibilities/3443021
https://stackoverflow.com/questions/15788459
复制相似问题