这是我第一次编写Firefox插件。对于我正在尝试编写的插件,我需要调用Twitter's APIs。为了做到这一点,我需要一个oauth库来开始。
我发现npm包存储库中有already exists such a library。看看Firefox插件是如何用Javascript编写的,我决定尝试使用它。不幸的是,似乎我不能通过运行npm install oauth
来简单地使用NodeJS中的模块。
Message: Module `crypto` is not found at resource://gre/modules/commonjs/crypto.js
但是,有没有其他方法可以使用这些模块,考虑到它仍然是用Javascript编写的?我希望不必从头开始编写一个oauth库来启动我的插件。
为了澄清,我正在编写插件代码,而不是内容脚本。我希望插件能够调用Twitter API。
我目前的代码非常简单。我有一个班级twitter.js
:
var OAuth = require("oauth");
var OAuth2 = OAuth.OAuth2;
var Twitter = function() {
};
module.exports = Twitter;
在我的index.js
中,我只需添加一些代码:
var Twitter = require("./twitter");
var twitter = new Twitter();
答案 0 :(得分:1)
这取决于模块,但通常是可能的。 Browserify可以轻松转换节点模块,以便在浏览器中使用。
答案 1 :(得分:1)
你可以,但你必须browserify并填充所有内容。而且没有文件。你应该浏览一些github repos来看看其他开发者是如何做的。
在NPM上,为Firefox插件设计的模块很少,它们被标记为jetpack。 Google OAuth有一个,如果你需要编写自己的模块,可能会有所帮助。
答案 2 :(得分:1)
使用JPM插件sdk:
完全使用Twitter OAuth登录https://github.com/Noitidart/jpmOAuth/
所需的依赖项是用于SHA1-HAMC加密的CryptoJS文件。
安装该插件。它会完美地运作。
自定义时,您必须更新gOauth.twitter
,callback
和key
的全局变量secret
条目。你可以通过twitter上的管理应用获得这个:
详细信息页面,这是您获取key
和callback
的地方 - 对我来说,网址是 - https://apps.twitter.com/app/12197899
然后从“密钥和访问令牌”页面获取secret
- 对我来说,网址是 - https://apps.twitter.com/app/12197899/keys