2016-04-05 13 views
0

私はFirefoxアドオンを初めて書いています。私が書こうとしているアドオンについては、Twitter's APIsへの呼び出しが必要です。そうするためには、私は最初にoauthライブラリが必要です。Firefox Addonで "oauth"のようなNodeJSモジュールを使用することはできますか?

already exists such a libraryがnpmパッケージリポジトリに存在することが判明しました。 FirefoxアドオンがJavascriptで書かれているのを見て、私はそれを使ってみることにしました。残念ながら、NodeJSのモジュールを単にnpm install oauthで実行することはできないようです。

しかし、私はこれらのモジュールを使用することができる他の方法はありますか?それにもかかわらず、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

あなたはgithbのrepositorを持っている場合y私はこのtwitter oauthを設定するためのPRをお手伝いします。私は人々がこの種のもので多くの闘いをしていることを知っています。 – Noitidart

+0

私のソリューションは私が下に掲載されて参照してくださいでしたか?これはTwitter用のコピー貼り付けソリューションです。 – Noitidart

答えて

1

Browserifyを使用すると、ブラウザで使用するノードモジュールを簡単に変換できます。

+0

おそらく私はBrowserifyの目的を混乱させるかもしれませんが、私は今、次のエラーがあります: 'TypeError:global.XMLHttpRequestはコンストラクタではありません。明確にするために、私はコンテンツスクリプトではなく、アドオンコードを書いています。私は、アドオンをTwitter APIを呼び出すものにしたい。私はBrowserifyを間違って使用していますか? – WeirdestQuestions

+1

BrowserifyはノードAPIを実装しているため、ブラウザ環境でノードモジュールを使用できます。私は、Firefoxアドオンに何が制限されているのかよく知らない。しかし、OAuthがFirefox Addonsで利用できないJavaScript API(XMLHttpRequestなど)の一部を使用する場合、モジュールを変更しなければ不可能です。 – Ben

+0

@WeirdestQuestions 'browserify'がモジュールで失敗した場合、firefoxアドオンでそれを使うことはできません。ノードモジュールがCや他のネイティブコードのようなものを使用している場合には、ブラウザを参照してください。 XMLHttpRequestと他のすべてのWeb機能はFirefoxのアドオンで利用できます。あなたはそれのインスタンスを得る方法を微調整する必要があります。 – Noitidart

1

あなたはbrowserifyとpolyfillすべてが必要です。そして、ドキュメントはありません。他のデベロッパーがどのようにしているのか見るためにはgithub reposを参照する必要があります。

NPMでは、Firefoxアドオン用に設計されたモジュールはほとんどありません。jetpackというタグが付けられています。 Google OAuthのモジュールが1つあります。独自のモジュールを作成する必要がある場合に役立ちます。

1

は完全に、でTwitterのOAuthのサインを作業JPMアドオンSDKを使用して:

https://github.com/Noitidart/jpmOAuth/

必要とされた依存関係は、SHA1-HAMCの暗号化のためのCryptoJSファイルでした。

アドオンをインストールします。それは完全に動作します。

自分でカスタマイズする場合は、グローバル変数gOauth.twitterのエントリをcallback,key、およびsecretに更新する必要があります。私のURLがある - - https://apps.twitter.com/app/12197899

「キーから次に

、あなたがkeycallbackを取得する場所

詳細ページ、これは次のとおりです。あなたはTwitter上で管理するアプリからこれを取得しますアクセストークン」ページでは、secret取得 - 私のためのURLは - https://apps.twitter.com/app/12197899/keys

関連する問題