2012-12-28 114 views
0

我正在尝试为Facebook构建Google Chrome扩展程序。针对Facebook的Chrome扩展程序

我应该能够在不实际要求用户对我的分机明确验证访问Facebook的API。

有没有办法做到这一点?

+0

你想从用户的Facebook检索什么信息?通过用户的ID,您可以阅读尽可能多的内容,通过[Graph API](http://developers.facebook.com/docs/reference/api/):https://graph.facebook.com/cocacola – jjperezaguinaga

+0

我想获取用户曾经做过的所有帖子(公开或非公开)。 – Tushar

+0

@TusharMathur:你是否要求在没有任何认证的情况下获取用户的详细信息? – Sudarshan

回答

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来破解它。

否(以及为什么你不应该):我不是一个法律的人,但我一直在开发足够长的时间知道,每当一个平台,为您提供了一个API,你都应该使用它 。为什么?因为他们可以控制您正在阅读的信息,并且可以通过这种方式保护他们的用户信息。

这实际上是一个微妙的路线,因为有时你可以不提高必要时使用一个网站API(有时他们甚至没有之一)网站的体验。如果您实际上改善了用户体验,那么您甚至会对此表示赞赏。在这种情况下想法,我就不会这么做,但因为:

  • 这是Facebook的,我敢肯定,他们有一些服务条款行的,他们描述一下我刚写了一篇阅读用户信息通过外部脚本。
  • 是抓取数据的外部应用程序有
  • Facebook的API,现在总部设在的oauth2,这在它的基础是为了保护坏名声从第一天(自动帖子,欺骗活动,报废信息等)用户;通过令牌拒绝,用户可以在任何时候读取他/她的数据停止的应用程序,而应用程序没有这样的机制对于(卸载可能是它,但你可能已经存储在他/她的数据)
  • 这并不难,要求许可,你会为自己节省很多麻烦。

如何做到方式?请求应用程序ID,并将facebook SDK加载到后台页面中。提示用户权限(是的,正确的方式包括询问用户对你可以阅读的内容的许可,以便他/她可以拒绝你访问他们,如果你行为不端),然后查询Facebook API。

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

首先请求许可。不要成为那个人;)

+0

我真的很感谢你付出的努力来解释从用户请求许可的逻辑方面。就问题而言,如果我们不要求使用API​​的权限,我们只会获得页面上可见的数据。因此,我认为更准确的答案是NO。 – Tushar

+0

同意,虽然你应该回避你的问题:你问是否有办法做到这一点,正如我在“是”部分所描述的那样,确实如此。如果用户从不登录Facebook.com,那么正如你在你的评论中正确说明的那样,那么准确的答案是否定的。 – jjperezaguinaga

相关问题