我在 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.');
}
});
});
}
});
但是我不知道在那之后如何调用一个函数,因为我有很多不同的按钮,我希望在用户登录和重定向之后完成我的操作。