[英]Facebook c# sdk login in asp.net 4.0 website
我知道多次问过类似的问题,但仍然无法解决。 我想使用最新的facebook C#SDK登录我的网站,并阅读已登录的用户电子邮件和名称。
这是我的web.config facebook配置:
<configSections>
<section type="Facebook.FacebookConfigurationSection, Facebook"
name="facebookSettings" allowLocation="true" allowDefinition="Everywhere" />
</configSections>
<facebookSettings appId = "{appId}" appSecret = "{appSecret}"/>
这是我的Facebook SDK和客户端代码:
Your facebook name is :<asp:Label ID="Label1" runat="server" Text="Not authenticated."></asp:Label>
<div id="fb-root">
</div>
<fb:login-button id="fblogin" onlogin="window.open('http://www.filmania.pl/Default.aspx?code=1', '_self')">
</fb:login-button>
<fb:prompt-permission perms="email"></fb:prompt-permission>
<script>
window.fbAsyncInit = function () {
FB.init({
appId: 'applicationId',
cookie: true,
xfbml: true,
oauth: true
});
function facebooklogin() {
FB.login(function (response) {
if (response.authResponse) {
// user authorized
//window.location.reload();
window.open("http://www.filmania.pl/Default.aspx?code=1", "_self")
} else {
// user cancelled
}
}, { scope: 'email' });
};
};
(function () {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
} ());
</script>
这是我的服务器端代码:
if (Request.QueryString["code"] == "1")
{
try
{
var fbWebContext = new FacebookWebContext();
Label1.Text += fbWebContext.IsAuthenticated();
if (fbWebContext.IsAuthenticated())
{
var fb = new FacebookWebClient();
dynamic me = fb.Get("me");
Label1.Text += me.email + " " + me.name;
}
}
catch (Exception ex)
{
Label1.Text += ex;
}
}
单击“ Facebook登录按钮”后,将显示Facebook弹出窗口,并要求获得许可。 似乎可以正常工作,但是在服务器端使用了神奇的Label1.Text之后,它总是== false。 我在这里想念什么? 请帮助我,我迷路了。
根据Javascript SDK,您需要先调用FB.getLoginStatus, 然后再调用FB.login。 这可能会改变您的工作流程。
请参阅: https : //developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/和https://developers.facebook.com/docs/reference/javascript/FB.login/
我使用过旧版本的Facebook sdk api,但现在我为在Codeplex上找到的最新稳定版本5.4.1.0制作了示例...
示例在这里: http : //www.simpa.dk/Projects.aspx?CategoryId=1&IndexId=2
希望这可以帮助其他人... :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.