【问题标题】:Get user followers in meteorjs在meteorjs中获取用户关注者
【发布时间】:2013-03-07 15:35:38
【问题描述】:

我正在尝试为已通过我的 meteorjs 应用程序进行身份验证的用户获取关注者。我使用了 {{loginButtons}} 模板并找到了用户令牌的位置。但是我现在必须手动创建我的授权请求,我希望这很容易。但这真的很难,我觉得我在浪费时间试图找出一种方法来创建 oauth_signature..

欢迎任何帮助!

【问题讨论】:

    标签: oauth twitter meteor


    【解决方案1】:

    假设您正在谈论的是 Twitter,我也许可以帮助您。 我只是设法做你想做的事情。

    这段漂亮的代码为 Twitter API 提供了一个客户端:https://github.com/mynetx/codebird-js 我个人将它放在我的应用程序中的server-folder 以避免暴露密钥等。

    由于codebird-js 代码使用了 XMLHttpRequests,而 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 生成的令牌,并找到存储在用户集合中的用户令牌。

    编辑:

    当您拥有上述内容时,您将创建一个新的 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_TOKENUSER_ACCESS_TOKEN_SECRETUSER_NAMETWITTER_ID 是占位符。它们都可以在 Meteor 用户集合中找到。

    【讨论】:

      猜你喜欢
      • 2012-07-20
      • 1970-01-01
      • 2017-09-08
      • 2021-06-17
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      • 2011-10-13
      相关资源
      最近更新 更多