2012-04-15 2 views
2

Google Chromeの拡張機能をビルドするには、Facebookに接続してGraph APIとFQLを呼び出すためのバックグラウンドスクリプトが必要です。残念ながら、私はこれをどのように実装するかという観点から、ある程度の障害物に当たっています。 Chromeは組み込みのCSPを使用してインラインスクリプトの実行をブロックしていますが、JQueryを使用してFacebook用のJavaScript SDKを読み込むことはできませんでした。Google ChromeでFacebook APIを使用するにはどうすればいいですか?

誰でもこれを実装する方法のアイデアはありますか?私はFacebook用のSDKをロードするまで、私は前進することができません。

+1

あなたの質問には本当の答えではありませんが、あなた自身のJavaScriptコードを揺らしてFB SDKを使わないようにする必要があるかもしれません...しかし、httpリクエストをプロキシしてアプリの秘密を追加するサーバーが必要になるでしょう。また、JS SDKはドメイン制限のため実際には機能しません。 – logan

+1

これが役立ちます http://sambro.is-super-awesome.com/2010/03/10/how -to-access-facebook-api-from-chrome-extension /#comments – Dhiraj

+0

ありがとう、両方!私は自分のローリングの道を行くつもりだと思う。私は既にそれに気づいていましたが、私はその対策をする前に何かを逃していないことを確認したかったのです。とにかくスクリプトを完全に制御できるので、おそらくもっとうまくいくでしょう。再度、感謝します! –

答えて

2

パブリックFacebook APIにアクセスするには、JavaScriptを拡張機能に書き込む必要があります。また、ユーザーが公開データにアクセスするためのOAuth2トークンを取得する必要があります。ここであなたを助けるかもしれないいくつかのプロジェクトです:

https://github.com/jjNford/html5-storage

https://github.com/jjNford/chrome-extension-socket

https://github.com/jjNford/oauth2-chrome-extension

は、最初は(保存しないブラウザのストレージにいくつかのデータを保存すると、あなたを助けるためにHTML5のlocalStorageのラッパーであります個人データ)。 2つ目はChrome APIを使用してバックグラウンドページとポップアップの間にポートを作成し、2方向通信を許可してAPIリクエストをオフロードできます。 3番目はChrome拡張機能の中でOAuth2を利用するためのソリューションです。Facebookの仕様に合わせて調整する必要があります。

これが役に立ちます。

+0

ありがとうございました!それらは間違いなくこれに役立つだろう! –

2

これは、自分のサーバーよりも速く更新されるか、または自分のサーバーより高速な外部スクリプトを使用する場合には、一般的な問題です。セキュリティ上の理由から、クロスサイトスクリプティングを防止するには、manifest.jsonファイルに特別な権限が必要です。

"content_security_policy": "script-src 'self' https://connect.facebook.net; object-src 'self'" 

外部スクリプトを読み込む場所を正確に指定すると、外部スクリプトを読み込むことができます。あなたがそれらについて知らないなら、CSPは多くの問題を引き起こします。私は最後に答えを得る前に何が間違っていたのか把握しようと数時間を費やしました。

関連する問題