使用用户名/密码以编程方式登录Facebook

时间:2011-09-30 18:10:31

标签: facebook authentication rest curl

好的,我一直在寻找这个主题超过一个小时,只能找到我不需要或不想要的OAuth解决方案。

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

感觉就像我一直在寻找无处不在,只能找到创建FB应用程序的解决方案,授予它一定的权利,使用oauth等过度复杂的过程,这是(敢说 - 相当)愚蠢因为我不想认证其他人,比如访客。我只是想模仿我的(自我浏览器),好像我是浏览他们的页面而不是自动化工具的人。当然,我可能会采用cURL方式并模拟真实的用户代理,但我不打算开始抓取FB页面。

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

我需要一些类似于twitter和google +的东西(?)我确实找到了一个简单的twitter类,但谷歌+没有(同样的问题,Twitter正在努力创建应用程序和使用oauth,但他们通过简单的REST请求保持一种身份验证方式)。

1 个答案:

答案 0 :(得分:6)

除了模仿用户代理的痛苦且不受支持的方法之外,我不相信有一种方法可以执行您所描述的内容。做你所描述的事情也不是一个好习惯,因为Facebook(和其他网站)不应该允许第三方收集用户名/密码,即使它只是在传输中。我知道在您的场景中,您将是唯一的用户,但Facebook必须为大众设计他们的API。

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

请注意,如果您更改了Facebook密码或取消了对应用的授权,则离线访问令牌将会过期。