我在SOF上搜索了很多,但没有找到问题的答案,所以我创建了一个新线程。 我正在研究Facebook应用程序,如果用户已连接,则需要进行测试。 如果他不是,我想让facebook Popup登录,但我不可能获得我想要的东西。
以下是代码:
我尝试了很多东西:
String AppID = System.Configuration.ConfigurationManager.AppSettings["FB_appId"];
String redirect_uri = Controller.GetCurrentPageFacebookPublishedPath(this.Request);
Response.Redirect("https://www.facebook.com/login.php?client_id=" + AppID +
"&redirect_uri=" + redirect_uri + "&display=popup");
或者这个:
FacebookClient client = new FacebookClient();
Dictionary<string, object> PostParameters = new Dictionary<string, object>();
PostParameters.Add("client_id", AppID);
PostParameters.Add("display", "popup");
PostParameters.Add("redirect_uri", redirect_uri);
//object res = client.Post("https://www.facebook.com/dialog/oauth", PostParameters);
object res = client.Get("https://www.facebook.com/login.php", PostParameters);
但没有任何作用......
我做错了吗?我应该在javascript中执行此操作吗?
编辑:
我终于没有在c#中找到解决方案,所以我使用了这样的javascript:
FB.getLoginStatus(function (response) {
if (response.status === 'connected') {
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
} else if (response.status === 'not_authorized') {
} else {
$(".myBouton").click(function () {
FB.login(function (response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function (response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
});
}
});
但是之后我不知道如何调用函数,因为我有很多不同的按钮,我希望我的操作在用户日志和重定向之后完成。