0

meteorjs アプリで認証されたユーザーのフォロワーを取得しようとしています。{{loginButtons}} テンプレートを使用して、ユーザー トークンの場所を見つけました。ただし、許可されたリクエストを手動で作成する必要があり、これが簡単になることを望んでいました。しかし、それは本当に難しく、oauth_signature を作成する方法を見つけようとして時間を無駄にしているように感じます..

どんな助けでも大歓迎です!

4

1 に答える 1

2

あなたが話しているのがTwitterだとしたら、私があなたを助けることができるかもしれません。私はあなたがやりたいのと同じことをなんとかやった。

この素晴らしいコードは、Twitter APIにクライアントを提供します。https ://github.com/mynetx/codebird-js 個人的にはserver-folder、キーなどの公開を避けるためにアプリに配置しました。

コードはXMLHttpRequestsを使用し、codebird-jsnode.jsにはデフォルトでそのような機能が付属していないため(少なくともmeteor.jsコンテキストでは)、XHR機能を自分で追加する必要があります。

このNPMは私のためにそれを行いました:https ://npmjs.org/package/xmlhttprequest ただし、追加のnpmパッケージでmeteorアプリをデプロイできないため、このソリューションを見つけましたmeteor.comのMeteorアプリにノードモジュールをデプロイするにはどうすればよいですか? ?これは、パブリックフォルダーに配置することをお勧めします。

最後に、これらのコード行を、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で生成されたトークンを提供し、Usersコレクションに保存されているユーザーのトークンを見つける必要があります。

編集:

上記がある場合は常に、新しい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注意してください。それらはすべてMeteorUsersコレクションにあります。USER_ACCESS_TOKEN_SECRETUSER_NAMETWITTER_ID

于 2013-03-06T20:51:03.117 に答える