2013-02-12 146 views
1

我在编程方面很新颖。我看到很多关于如何登录Facebook的例子,他们都使用Facebook登录页面登录。我的问题是我如何通过用户名和密码形成我自己创建的文本框和我自己的登录按钮。可能吗 ?如何使用c#登录脸书而不使用脸书页面

+0

这里有一些很好的资源:http://stackoverflow.com/questions/4610087/authentication-using-facebook-c-sharp-sdk和这里:http://developers.facebook.com/docs/concepts/登录/ – Maciej 2013-02-12 23:25:25

回答

2

很确定你不能这样做。

通过Facebook登录页面进行身份验证的唯一方法是使用Facebook登录页面。

如果Facebook允许通过第三方表单登录,则不会阻止恶意网站收集Facebook登录信息。

+0

实际上,你可以做到这一点,但对于你提到的原因,它是不是真的你想要在生产应用做的所有事情。我也看到了桌面应用程序,如Picasa中有将照片上传到用户的帐户(尽管才出现,用户必须批准照片)的能力,所以实际上是某种类型的桌面应用程序批准的API与Facebook的整合,但我从来没有想过如何做到这一点。 – AaronLS 2013-02-13 00:36:58

+0

我想那么Facebook登录它。 – 2013-02-13 11:27:13

1

这实际上取决于你想要完成什么。如果你有一个你想要与Facebook集成的网站,那么Facebook有一些集成API。

我发现直接从桌面应用程序登录的唯一途径,是通过使用web浏览器类,请求Facebook登录页面,然后填入用户名/密码字段编程: webBrowser1.Document.GetElementById("textName").SetAttribute("value") = "ddddd" ;

的结果登录会产生鉴定会话几个饼干,您可以将那些为HttpWebRequest的,这样的记录在您的请求将被看到。

像里克说,这是一个非常坏习惯,因为你会必须通过自己的形式收集用户详细信息(尽管您可以始终显示Ÿ直接在web浏览器窗口给用户,你仍然要求他们做一些非常危险的,因为承载WebBrowser类应用程序可以截获登录信息)。

+1

它不仅是一个非常不好的做法,做任何事情来绕过网页几乎是每个API的服务条款违反实现OAuth的(显示的网页是OAuth的标准的一部分)。 ***如果Facebook发现你正在绕过登录页面您的应用程序键将被撤销,那么你的程序会突然停止为所有用户的工作。*** – 2013-02-13 00:35:45

+0

@Scott此请求不是来自一个Facebook应用程序来了,它不使用OAuth api。没有需要的应用密钥,因此没有被撤销。 WebBrowser类是一个IE用户代理,它从服务器端显示为直接登录该站点的用户。 – AaronLS 2013-02-13 00:42:19

+0

@Scott不过说实在的,对于你提到的所有原因,正如我已经说过了,这是不是你会采取任何形式的生产应用程序的方法。 – AaronLS 2013-02-13 00:44:40