2013-04-02 29 views
3

我正在尝试构建一个流星应用程序,该应用程序涉及用户使用twitter,facebook或google +登录,然后从应用程序内发布到这些帐户。从流星应用程序内发送推文

首先,我试图让twitter工作。我有我的推特标志工作,并允许他们代表他们发送推文,但如何实际发送推文?

我想我需要这个:https://dev.twitter.com/docs/api/1.1/post/statuses/update但我无法弄清楚认证如何与流星合作。

有没有什么可以帮助我的例子?或教程?

回答

3

你需要一个API来帮助你一点,除非你想用Meteor.http手动使用REST来完成它。我建议你获得的陨石:通过npm install -g meteorite

陨石安装像一个节点模块https://github.com/oortcloud/meteorite

它是流星的包装,让您使用的社区包过在http://atmosphere.meteor.com

Twitter的包你能使用通过mrt add twitter-api安装twitter-apihttps://github.com/Sewdn/meteor-twitter-api

使用服务器API,您可以通过添加鸣叫一旦补充说:

服务器JS

var twitter = new Twitter(); 

Meteor.methods({ 
    postTweet: function (text) { 
     if(Meteor.user()) 
      twitter.postTweet(text), 
      return true; 
    } 
}); 

客户端JS

//Use this in your click handler where you want to post a tweet: 

Meteor.call("postTweet", "This is Twweeeeeetttt!", function(err,result) { 
    if(!err) { 
     alert("Tweet posted"); 
    } 
}); 

的API负责用户的OAuth令牌的,所以你不必担心太多

+0

真棒! Facebook和Google Plus有没有类似的东西? – user1624005

+0

虽然不如此,但它并不难使它们变得如此。你可以使用npm模块,比如'fbgraph'(facebook)和'Google-Plus-API'。你必须从每个相应的API的Meteor.user()。services.facebook'/google获取令牌,设置用户令牌,然后访问它们相应的post方法,就像twitter的postTweet – Akshat

+0

好的。看起来Google-Plus-API不支持发布,但没关系。 Meteor.user()_。services.facebook是否包含调用meteor方法的用户所需的所有auth内容? – user1624005