Facebook c# sdk login in asp.net 4.0 Webseite
Ich weiß, dass ähnliche Frage wurde schon mehrfach gefragt, aber noch kann ich es nicht arbeiten lassen. Ich möchte ein login auf meine Seite mit den neuesten " facebook C# SDK und Lesen, angemeldete Benutzer e-mail und Namen.
Hier ist mein web.config facebook-Konfiguration:
<configSections>
<section type="Facebook.FacebookConfigurationSection, Facebook"
name="facebookSettings" allowLocation="true" allowDefinition="Everywhere" />
</configSections>
<facebookSettings appId = "{appId}" appSecret = "{appSecret}"/>
Hier ist meine facebook-sdk und client-side-code:
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>
Dies ist mein server-side-code:
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;
}
}
Nach einem Klick auf Facebook-Login-Button, facebook-popup zeigen und um Erlaubnis bitten. Scheint zu funktionieren, aber nach server-side-code magic Label1.Text ist immer == false. Was vermisse ich hier? Bitte helfen Sie mir, ich bin verloren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pro die Javascript-SDK, können Sie anrufen möchten, FB.getLoginStatus vor der Aufruf von FB.login. Das könnte sich ändern, bis Sie Ihren workflow einige.
Finden Sie unter:
https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/ und https://developers.facebook.com/docs/reference/javascript/FB.login/
Ich habe mit älteren Versionen von facebook sdk-api, aber ich jetzt habe ich ein Beispiel für die neueste stabile version 5.4.1.0 wich ich auf codeplex...
Beispiel ist hier: http://www.simpa.dk/Projects.aspx?CategoryId=1&IndexId=2
hoffe, dass dies anderen helfen kann...:)
.