首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RxJS节点-oauth简单get请求失败

RxJS节点-oauth简单get请求失败
EN

Stack Overflow用户
提问于 2015-01-19 08:46:02
回答 1查看 300关注 0票数 1

处理一个简单(相对)的RxJS演示/测试代码,它使Twitter调用和一个MongoDB请求,并将它们压缩到一个可观察到的位置。

要能够拨打Twitter Api电话,您需要通过Oauth进行身份验证。我已经找到了节点-oauth库来处理节点请求:

代码语言:javascript
运行
复制
var oauth = new OAuth.OAuth(
    'https://api.twitter.com/oauth/request_token',
    'https://api.twitter.com/oauth/access_token',
    'key',
    'secret',
    '1.0A',
    null,
   'HMAC-SHA1'
);

然后,我用Oauth get方法创建了一个新的可观察到的地方,以便从Twitter获得位置:

代码语言:javascript
运行
复制
var twitterStream = Rx.Observable.fromNodeCallback(oauth.get)('https://api.twitter.com/1.1/trends/place.json?id=23424977',
    'access-token',
    'token');

来自MongoDB的另一个流:

代码语言:javascript
运行
复制
Rx.Node.fromStream(Order.find().stream());

拉链的最后一步是:

代码语言:javascript
运行
复制
var getNewList = Rx.Observable
    .zip(flickrStream, orderStream, function(user, order) {
        return {user: user, order: order};
    });

getNewList.subscribe(function(response) {
    // render `response`
    console.log(response);
});

尽管当我通过Node执行代码时,代码对我来说似乎没有问题,但是下面的消息被打印到控制台上:

代码语言:javascript
运行
复制
TypeError: Object #<Object> has no method '_performSecureRequest'
at exports.OAuth.get (/.../node_modules/oauth/lib/oauth.js:487:15)
at /.../node_modules/rx/dist/rx.all.js:5504:14

我有可能做了某事。在使用Twitter请求创建新的可观察性时出错。此外,我在没有RxJS和MongoDB查询的Twitter中单独测试了代码,这些代码没有任何问题。另外,将fromNodeCallback更改为fromCallback也没有任何区别。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-19 20:01:05

要么提供context参数(参见文档),要么绑定get的上下文

代码语言:javascript
运行
复制
Rx.Observable.fromNodeCallback(oauth.get.bind(oauth))

代码语言:javascript
运行
复制
Rx.Observable.fromNodeCallback(oauth.get, oauth)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28020754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档