您好,其他开发人员。
过去几周我一直在与以下人员作斗争。
我想通过FB(个人资料网址)对登录用户进行身份验证。
简单。但是不可能自动获得它。
当用户登录时,将生成一个FBID,当使用https://www.facebook.com/?profile_id=xxxxxxxxxxxxxxx时,它将被重定向到用户的个人资料https://www.facebook.com/username-Tada!数据准确性为100%。
我尝试获取该FB用户名,但是未经允许,不允许通过图形进行操作,这与profile_id相似,它不是实际的用户名。我相信整个剑桥的东西都会被删除。
我的下一个解决方法是,尝试执行CURL请求-我编写了一个函数,该函数获取重定向的最后一个URL。由于Facebook响应为“不受支持的浏览器”,此操作失败。
我尝试传递不同类型的标头(用户代理,Canonical,SSL),但是它们都不起作用。数据准确性几乎降低到了0%。
我的最后一个选择是在评论插件中使用评论插件-在文本区域旁边,我看到个人资料的链接-正是我想要的。我试图做的是获取iframe的源代码,并查看FB用户名的显示位置,并将其反馈回我的数据库。然后,我将FBID与之匹配,然后得到我想要的。这种方法的数据准确性可能在75%/ 80%范围内。
但是,那也不起作用。有几个原因,1-FB Iframe似乎没有将常量类附加到元素上-因此,我担心这种情况不会持续很长时间。 2-iframe本身没有ID至少可以包含Javascript console.log。 3-时间安排非常不规则,尽管这不是真正的问题,因为我可以在用户登录10秒后运行超时功能,但是我指的是-我需要首先获取FBID与FB用户名匹配。这不是一种稳定而是脆弱的方式。数据准确性降低到50%或不稳定。
所以我很困惑,我不知道如何在没有FB图的情况下将FBID与用户名匹配。
我的非常非常最后的选择是,在注释框中,用户需要键入为其生成的唯一代码-然后接收到该消息,然后我手动对其进行验证,从而对帐户进行验证。 / p>
但这将是痛苦的开发人员,我希望它能够自动完成。我觉得有办法,但是我被困住了。
有人敢建议我如何实现这一目标吗?即使是遥不可及的东西(即使它来自Canto Bight行星)....
*我低头 *我说谢谢你!
答案 0 :(得分:1)
恐怕没有办法。 username
访问已消失,如果仍然有可能访问真实的URL,那么实现该重定向URL将毫无意义。您只能让用户自己输入网址,但是没有API可以获取。