我正在使用以下代码在我的Winform
应用程序上打开 Facebook登录页面。
private const string AppId = "MY_APP_ID";
private Uri loginUrl;
private const string extendedPermissions = "user_about_me,publish_stream,offline_acccess";
FacebookClient fbClient = new FacebookClient();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Login();
}
private void Login()
{
dynamic parameters = new ExpandoObject();
parameters.client_id = AppId;
parameters.redirect_uri = "https://www.facebook.com/connect/login_success.html";
parameters.response_type = "token";
parameters.display = "popup";
if (!string.IsNullOrWhiteSpace(extendedPermissions))
parameters.scope = extendedPermissions;
var fb = new FacebookClient();
loginUrl = fb.GetLoginUrl(parameters);
webBrowser1.Navigate(loginUrl.AbsoluteUri);
}
在第一次尝试时,我的webBrowser1
仅显示一条警告消息,表示我未通过身份验证以允许该页面。我用Google搜索了该问题,并了解到我应该更改应用的设置(高级)并启用选项
在此之后,我收到一个带有“成功”字样的空白页面而不是警告,而在一两秒后,会添加一个红色警告,提醒我不要在其他任何地方共享此URL并将其视为密码。
有谁知道我在这里缺少什么?
是否因为默认情况下在webBrowser
控件中禁用了Cookie?如果是这样,我该如何启用它们?
答案 0 :(得分:0)
当我将extendedPermissions
更改为
"user_about_me"
答案 1 :(得分:-1)
我不确定你是故意这样做的,还是从来没有编辑过它,但我发现你从Facebook复制它时就已经离开了private const string AppId = "012345678";
。您可以通过自己的AppID将Facebook链接到您的网页,例如{{1}}。如果你不知道你的AppID是什么,那么这篇文章的最佳评分答案就是最好的解释Post about appID
如果这不是问题,请以不同的方式解决您的问题。