我有一些我正在处理的Twitter功能,我想使用"仅应用程序身份验证"只需要我的Twitter应用程序凭据就可以在我的应用程序中执行GETS(例如,基于用户输入的标签的随机推文搜索等 - 没有实际的用户发布。)
Twitter支持这一点,但Atmosphere和NPM上的大多数Twitter软件包都不支持。它们会强制您传递应用程序凭据和OAuth令牌,如果您不这样做,则您的请求无效。最受欢迎的名为mrt:twit
的Meteor Twitter API包实际上包装了NPM包ttezel/twit
,它实际上正确实现了仅应用程序身份验证,但是Meteor mrt:twit
的包装程序包强制您使用完全身份验证要求用户的OAuth令牌,我不想要或不需要使用。因此,我想修改mrt:twit
以正确关注ttezel/twit's
界面。
但是,mrt:twit
包不在GitHub上。我如何弄清楚它的存在位置和/或我是否可以在本地访问它并修改它和/或在线找到一些存储库?气氛并没有提供太多的帮助,没有提供这个包实际下载的链接吗?
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。所以我假设我可以用ttezel/twit
的最新2.1.0版本替换这个文件夹,但我不认为你应该弄乱node_modules
内的任何内容。文件夹对吗?难道不存在要编辑的配置文件吗?
对于我的生活,我无法找到mrt:twit
声明使用1.1.9版的地方。在所有代码中,它只调用Npm.require('twit')
。我找不到配置文件,将版本设置为1.1.9。我发现的唯一一件事就是上面第二条路径上的文件位于名为twit
的{{1}}文件夹旁边,其中所有文件都是.node_version
,这是我要使用的Node版本假设。那不会强迫"那个包装版本当时出来了吗?如果是这样,那么可能是设置v0.10.20
以使用1.1.9。
我的原始帖子问题仍然存在,我在哪里可以在服务器上找到ttezel/twit
所以我可以分叉/编辑它而不必在本地编辑代码?
答案 0 :(得分:1)
我通过电子邮件发送了大气的创作者(percolatestudio.com),汤姆真的很有帮助,并指出了mrt:twit
生活在GitHub上的地方。它处于旧的1.0氛围中:
https://old-atmosphere.meteor.com/package/twit
该页面指向实际的GitHub位置:
https://github.com/subhog/meteor-twit
因此,如果您将当前mrt:twit
软件包下载到您的Meteor应用程序中,则将其添加到您的应用程序中(截至撰写本文时)。一旦我发现我可以在package.js
文件中轻松看到它声明Npm.depends({twit: "1.1.9"})
。另外注意:如果当前版本的Atmosphere指向旧版/旧版软件包的GitHub位置,它将如何处理新软件包,这将是一件好事。
所以我能够分叉并更新包以使用ttezel/twit
版本2.1.0。我对mrt:twit
做了拉取请求,所以希望作者更新它 - 因为这是Meteor的头号Twitter API包,下载量为1,200。似乎更好地更新它而不是发布我自己的版本。
在此之前,我根据以下链接创建了一个本地包,一切都运行良好 - 包括仅应用程序身份验证。感谢您的评论 - 他们很有帮助。我在Meteor和包装系统的运作方式上仍然很陌生。
http://www.webtempest.com/meteor-js-packages-tutorial
如果您想访问更新的软件包,我在以下链接中创建了它,但它不是已发布的meteor软件包 - 因此您必须下载并在本地使用它:< / p>
答案 1 :(得分:0)
您应该检查.meteor/local/*
个文件夹。
我在.meteor/local/build/programs/server/packages
我担心它已全部编译完毕,但您可以获取所需的一些代码并制作自己的软件包。