如何使用Meteor执行常见的FB操作?

时间:2013-04-03 13:19:03

标签: facebook-graph-api meteor

使用accounts-facebook包在Meteor中执行常见Facebook操作所需的步骤是什么?我正在尝试获取朋友列表,发布在墙上,并最终执行其他操作,但我不确定如何继续。

1 个答案:

答案 0 :(得分:7)

更新:对流星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

请求列表的图表API文档:https://developers.facebook.com/docs/reference/api/

异步(在将数据返回给客户端之前等待来自facebook的回调):https://gist.github.com/possibilities/3443021