我正在尝试通过我的meteorjs应用获取已通过身份验证的用户的关注者。我使用了{{loginButtons}}模板,并找到了用户令牌的位置。不过,我现在必须手工创建我的授权请求,我希望这很容易。但它真的很难,我觉得我正在浪费时间试图找出一种方法来创建oauth_signature ..在meteorjs中获取用户关注者
任何帮助,欢迎!
我正在尝试通过我的meteorjs应用获取已通过身份验证的用户的关注者。我使用了{{loginButtons}}模板,并找到了用户令牌的位置。不过,我现在必须手工创建我的授权请求,我希望这很容易。但它真的很难,我觉得我正在浪费时间试图找出一种方法来创建oauth_signature ..在meteorjs中获取用户关注者
任何帮助,欢迎!
假设它是Twitter你在谈论我可能会帮助你。 我只是设法做你想做的事情。
这个漂亮的代码提供了一个客户到Twitter API:https://github.com/mynetx/codebird-js 个人而言,我已经把它在server-folder
在我的应用程序,以避免按键的曝光等
由于codebird-js
代码采用开放式的XMLHttpRequest和node.js默认没有这样的功能 - 至少在meteor.js上下文中 - 你必须自己添加XHR功能。
这NPM为我做:https://npmjs.org/package/xmlhttprequest 然而,正如你不能部署额外的NPM包,我发现这个解决方案How can I deploy node modules in a Meteor app on meteor.com?该建议将其放置在公用文件夹您的流星应用。
最后,我添加这些代码行中codebird-js
只是说 var Codebird = function() {
var require = __meteor_bootstrap__.require;
var path = require('path');
var fs = require('fs');
var base = path.resolve('.');
var isBundle = fs.existsSync(base + '/bundle');
var modulePath = base + (isBundle ? '/bundle/static' : '/public') + '/node_modules';
var XMLHttpRequest = require(modulePath + '/xmlhttprequest').XMLHttpRequest;
最后你要提供你生成的令牌在dev.twitter.com,找到存储在用户的令牌线以下用户集合。
编辑:
Whenenver你有以上你犯了一个新的Codebird对象:var bird = new Codebird();
然后,设置标记:
bird.setToken(USER_ACCESS_TOKEN, USER_ACCESS_TOKEN_SECRET);
,使电话:
bird.__call('friends/ids', {
screen_name': SCREEN_NAME,
user_id: TWITTER_ID
},
function(reply){
console.log(reply);
});
注意USER_ACCESS_TOKEN
,USER_ACCESS_TOKEN_SECRET
,USER_NAME
&上例中的是占位符。它们都可以在Meteor Users集合中找到。