我正在尝试为Facebook构建Google Chrome扩展程序。
我应该能够访问facebook api而不实际要求用户明确地为我的扩展程序进行身份验证。
有办法吗?
答案 0 :(得分:0)
答案是肯定的,不是。
是的:您可以通过读取窗口文档的内容脚本“读取”他们在页面中加载的内容。一个很好的例子如下。
在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中,但最后用户必须向下滚动才能加载信息,或者您可以通过Javascript来解决此问题。 / p>
否(以及为什么你不应该这样做):我不是一个合法的人,但我已经开发了足够长的时间,知道每当平台为您提供API时,您应该使用它。为什么?因为他们可以控制您正在阅读的信息,并且可以保护用户信息。
这实际上是一个微妙的界限,因为有时您可以在不必使用网站API的情况下增强网站体验(有时甚至没有网站API)。如果您真正改善了用户体验,那么甚至可以理解这一点。在这种情况下,我想不会这样做,因为:
如何以正确的方式做到这一点?请求应用程序ID,并在后台页面中加载facebook SDK。提示用户权限(是的,正确的方法包括要求用户获得您可以阅读的内容的权限,以便他/她可以拒绝您访问它们,如果您行为不当),然后使用该权限查询Facebook API。
想一想。您可以创建一个扩展程序,只要他登录到他/她的银行,就会读取用户页面的内容。或他的电子邮件。实际上,用户在浏览器窗口中看到的任何内容都可以通过扩展程序检索。如果无法控制从他那里获取哪些信息,这对用户来说极其危险!
首先请求许可。不要那个人;)