facebook的Chrome扩展

facebook的Chrome扩展,facebook,google-chrome-extension,Facebook,Google Chrome Extension,我正在尝试为Facebook构建一个google chrome扩展 我应该能够访问facebook api,而无需实际要求用户明确验证我的扩展 有办法吗?答案是肯定和否定 是:您可以通过读取窗口文档的内容脚本“读取”他们在页面中加载的内容。下面是一个很好的例子 在manifest.json中 "content_scripts" : [{ "matches" : ["http://www.facebook.com/*"], "js" : ["js/vendor/jquery.min

我正在尝试为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中是否添加了新元素,但最终用户必须向下滚动以加载信息,或者您可以通过Javascript对此进行破解

不(为什么你不应该):我不是一个律师,但我已经发展了足够长的时间,知道无论何时平台给你一个API,你都应该使用它。为什么?因为它们可以控制您正在阅读的信息,并且可以通过这种方式保护用户信息

这实际上是一条微妙的线,因为有时候你可以在不需要使用网站API的情况下增强网站体验(有时候他们甚至没有API)。如果您真的在改善用户体验,这一点也会得到赞赏。在这种情况下,我想我不会这么做,因为:

  • 这是Facebook,我敢肯定他们在某些服务条款中有一行描述我刚才写的关于通过外部脚本阅读用户信息的内容
  • 从第一天起,抓取您数据的外部应用程序就名声不佳(自动发布、欺诈、废弃信息等)
  • 脸谱网API现在基于<强> OAuth2,其基础是保护用户;通过令牌拒绝,用户可以随时停止应用程序读取他/她的数据,而您的应用程序没有相应的机制(可能是卸载,但您可能已经存储了他/她的数据)
  • 请求许可并不难,这样你就省去了很多麻烦
如何以正确的方式进行?请求应用程序ID,并在后台页面中加载facebook SDK。提示用户权限(是的,正确的方法包括向用户请求您可以阅读的内容的权限,以便他/她可以在您行为不当时拒绝您访问这些内容),然后使用该权限查询Facebook API

想想看。您可以创建一个扩展,每当用户登录到其银行时,该扩展都会读取用户页面的内容。或者他的电子邮件。实际上,用户在浏览器窗口中看到的任何内容都可以通过扩展检索。如果用户无法控制从他那里获取哪些信息,这对用户来说是极其危险的


先申请许可。别做那个家伙;)

您希望从用户的facebook检索哪些信息?有了用户的id,你可以通过:我想获得用户发表过的所有帖子(公开或非公开)。@TusharMathur:你是否要求在没有任何身份验证的情况下获取用户详细信息?@Sudarshan。由于它是一个扩展,所有请求都将由登录用户进行身份验证。@TusharMathur:那么,您可以在不添加任何身份验证的情况下实现这一点,正如您所期望的那样。我非常感谢您为解释请求用户许可的逻辑方面所做的努力。就问题而言,如果我们不请求使用api的许可,我们只能获得页面上可见的数据。因此,我认为一个更准确的答案是否定的。同意,尽管你应该避免回答你的问题:你问是否有办法做到这一点,正如我在“是”一节中所描述的,确实有。如果用户从未登录过Facebook.com,那么正如你在评论中所说的那样,准确的答案是否定的。