2011-09-30 114 views
5

好的,我一直在寻找超过一个小时的这个问题,只能找到我不需要或不需要的OAuth解决方案。使用用户名/密码以编程方式登录到Facebook

我需要为自己从比Facebook以外的位置进行身份验证到Facebook。我需要我的网站(管理员区域)为我进行Facebook身份验证,并以我的名义,在我的墙上或我的朋友墙上进行发布。这是一个管理工具,我不想每次发布到我的网站时都登录到Facebook。我需要此管理员扩展程序才能为我登录,并添加一个标题和图像的自动发布:“example.com上的新帖子”。

感觉就像我一直在寻找解决方案,只能创建一个FB应用程序,授予它某些权利,使用oauth等 - 过于复杂的过程,这是(敢说我)愚蠢的,因为我不想认证其他人,如游客。我只是想模仿我的(自我浏览器),就好像我是通过他们的页面导航而不是自动化工具一样。当然,我可以采用cURL的方式来模拟一个真正的用户代理,但我不打算开始抓取FB页面。

有验证使用简单的用户名/密码(甚至没有存储在服务器上),以FB和获得同样的权利我通过浏览器进行身份验证时通常会得到一种编程方法?当然,在json或其他机器可解析的封装中获取所需的数据?我会假设我需要发送一个cookie或某种形式的令牌来处理后续的请求,但这不是问题,我只需要一种用简单的用户/密码进行身份验证并绕过整个应用注册疼痛的方法。

我需要类似的twitter和谷歌+也许(?)我没有找到一个简单的类为twitter,但没有在谷歌+(同样的问题,微博正在努力的方式来创建一个应用程序和使用oauth,但他们确实通过简单的REST请求维护一种身份验证方式)。

回答

6

我不相信有一种方法做你所描述的东西,比模拟一个用户代理的痛苦和不支持的方法等。由于Facebook(以及其他网站)不应允许第三方收集用户名/密码,即使该用户名/密码仅在传输中,这也不是一个好习惯。我明白,在你的情况下,你将是唯一的用户,但Facebook必须为大众设计他们的API。

为什么不设置Facebook应用程序并使用oauth?您只需要授权您的应用程序一次,获得一个离线访问令牌,然后使用该访问令牌。我认为这会比您要找的方法更容易,因为您不需要每次都使用Facebook进行身份验证。您只需要访问令牌。

请注意,如果你改变你的Facebook密码,或者你去检查你的应用程序脱机访问令牌将到期。

+0

:)我只是觉得没有必要为自己创建一个应用程序,而我是唯一的用户。我相信应用程序旨在为想要安装应用程序的“其他人”提供新功能,从而允许您访问不同级别的数据。 此外,这是一个管理区域,是安装在客户端位置的更大应用程序的一部分。我宁愿告诉客户他可以从管理员区域发布到FB,而不是要求他创建应用并授权自己作为用户:) – George

+0

制作单独的应用肯定有好处,即使您是唯一的从它发布的人。你说过你想让应用程序发布到你的墙上。曾经和你交朋友的人可能不想经常被这些垃圾邮件轰炸。所以,脸书给了他们阻止你说的一切,或阻止你的应用程序说的一切。我相信你更喜欢后者。 –

+0

的确如此,但FB帐户使用的是公司/企业帐户或网页,因此,遵循这些网页的人员会对通过在线应用程序发布的信息有兴趣。换句话说,无论如何,没有人会像FB那样向FB进行身份验证,如果他们有办法直接从管理区域执行操作。 – George

相关问题