【发布时间】:2015-10-07 19:11:54
【问题描述】:
我正在开发一些 Twitter 功能,我想使用“仅应用程序身份验证”,它只需要我的 Twitter 应用程序凭据即可在我的应用程序中执行GETS(例如,基于用户输入标签的随机推文搜索等. - 没有实际的用户发帖。)
Twitter 支持这一点,但 Atmosphere 和 NPM 上的大多数 Twitter 包不支持。它们会强制您同时传递应用程序凭据和 OAuth 令牌,如果您不这样做,您的请求就会返回无效。最流行的 Meteor Twitter API 包称为 mrt:twit 实际上包装了 NPM 包 ttezel/twit,它实际上正确实现了仅应用程序身份验证,但是 Meteor 的包装器包 mrt:twit 强制您使用需要用户的 OAuth 令牌的完整身份验证,我不想或不需要使用。所以我想编辑mrt:twit 以正确遵循ttezel/twit's 界面。
但是,mrt:twit 包不在 GitHub 上。我如何确定它在哪里和/或我是否可以在本地访问它并对其进行修改和/或在网上找到一些它所在的存储库? Atmosphere 没有提供太多帮助,没有提供此包实际下载位置的链接?
mrt:twit 的链接:https://atmospherejs.com/mrt/twit
ttezel/twit 的链接:https://github.com/ttezel/twit
编辑:我使用的是 Meteor 1.1.0.2。我能够找到mrt:twit 在本地的位置。它位于:
.../.meteor/local/build/programs/server/packages/
经过调查,并不是mrt:twit 没有正确“实现”ttezel/twit's 接口,而是mrt:twit 使用/需要旧版本的ttezel/twit,版本1.1.9 而不是当前的2.1 .0. ttezel/twit 的旧版本不支持“仅应用程序”授权 - 我可以在代码中看到它。因此,我的上述原始问题。 ttezel/twit 下载到以下文件夹:
.../.meteor/local/build/programs/server/npm/mrt_twit/node_modules/twit
在上述文件夹中,我看到了 ttezel/twit 的完整 .git 包,但它是 1.1.9 版。所以我假设我可以用最新的 2.1.0 版本的 ttezel/twit 替换这个文件夹,但我认为你不应该把 node_modules 文件夹中的任何东西弄乱,对吧?不应该有一个配置文件可以编辑吗?
我一辈子都找不到mrt:twit 声明使用1.1.9 版的地方。在所有代码中,它只调用Npm.require('twit')。我找不到将版本设置为 1.1.9 的配置文件。我发现的唯一内容是位于twit 文件夹旁边的第二个路径上的文件.node_version,其中只有v0.10.20,这是我假设使用的Node 版本。这不会“强制”当时发布的任何软件包版本吗?如果是这样,那么这可能就是将 ttezel/twit 设置为使用 1.1.9。
我原来的帖子问题仍然存在,我在哪里可以找到服务器上的mrt:twit,这样我就可以分叉/编辑它,而不必在本地编辑代码?
【问题讨论】:
-
您是否尝试在 $HOME/.meteor/packages 中查找?
-
我在各种帖子上看到了该路径,但所有导致的是文本文件“包”,其中列出了我使用的包。那里没有文件夹或代码。
标签: node.js twitter meteor oauth npm