Facebook用のGoogle Chrome拡張機能を構築しようとしています。
実際にユーザーに拡張機能の明示的な認証を求めることなく、Facebook API にアクセスできるはずです。
それを行う方法はありますか?
Facebook用のGoogle Chrome拡張機能を構築しようとしています。
実際にユーザーに拡張機能の明示的な認証を求めることなく、Facebook API にアクセスできるはずです。
それを行う方法はありますか?
答えはイエスとノーです。
はい:ウィンドウ ドキュメントを読み取るコンテンツ スクリプトを介して、ページにロードされたものを「読み取る」ことができます。良い例は次のとおりです。
manifest.json で
"content_scripts" : [{
"matches" : ["http://www.facebook.com/*"],
"js" : ["js/vendor/jquery.min.js", "js/content.js"],
"run_at" : "document_end"
}]
js/content.js 内
var document = jQuery(window.document);
var posts = document.find("div[role='article']");
そして、ユーザーが望むだけ、またはページが読み込まれるだけ読むことができます。ページに新しいコンテンツがあるかどうか、または新しい要素が dom に追加されたかどうかをチェックするある種のタイムアウト メカニズムを持つことができますが、最後にユーザーは情報をロードするために下にスクロールする必要があります。
いいえ (そしてなぜそうすべきではないのか): 私は法律家ではありませんが、プラットフォームが API を提供するときはいつでも、それを使用することになっていることを知るのに十分長い間開発してきました。なんで?彼らはあなたが読んでいる情報を制御でき、その方法でユーザー情報を保護できるからです.
これは実際にはデリケートな境界線です。Web サイト API を使用しなくても Web サイトのエクスペリエンスを向上できる場合があるためです (API を使用していない場合もあります)。これは、実際にユーザー エクスペリエンスを改善している場合でも高く評価されます。この場合、私はそれをしません。
正しいやり方は?アプリケーション ID を要求し、Facebook SDK をバックグラウンド ページにロードします。ユーザーのアクセス許可を求めます (はい、正しい方法には、読み取り可能な内容についてユーザーに許可を求めることが含まれます。これにより、不正行為を行った場合にアクセスを拒否できます)、それを使用して Facebook API にクエリを実行します。
考えてみてください。ユーザーが自分の銀行にログインするたびにユーザー ページのコンテンツを読み取る拡張機能を作成できます。または彼のメール。実際、ブラウザ ウィンドウ内でユーザーが見るものはすべて、拡張機能によって取得できます。ユーザーからどの情報が取得されるかを制御できない場合、これはユーザーにとって非常に危険です!
最初に許可を求めてください。その男にならないでください;)