我正在嘗試通過我的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集合中找到。