Facebook Login
Birgit Egger
- javascript
0 suit0 Birgit Egger0 suit0 Birgit Egger0 suit
Hallo,
ich weiß das ist kein JS forum - es handelt sich aber eh um eine generelle Client- Server kommunikations- Frage.
Ich bin gerade dabei für meine WebAppl ein Facebook Login bereitzustellen. Ich bin dabei vorgegangen wie auf dieser Seite Facebook für Entwickler - Login beschrieben.
Was mir jetzt nicht klar ist, wo bzw. wie ich die Daten von dem Facebook user bekomme, der sich gerade über Facebook für meine WebApp eingeloggt hat?
Weiß das vielleicht jemand?
Kommen die Daten in einer Callback- Methode zurück oder muss ich da über eine JS- Methode die FB- API aufrufen?
Besten Dank,
Birgit
Kommen die Daten in einer Callback- Methode zurück oder muss ich da über eine JS- Methode die FB- API aufrufen?
https://developers.facebook.com/docs/reference/javascript/FB.api/
Hier kannst du dann auch FQL verwenden, um an de facto alle erdentlichen (freigegebenen) Daten des Benutzers zu kommen
https://developers.facebook.com/docs/reference/fql/
Kommen die Daten in einer Callback- Methode zurück oder muss ich da über eine JS- Methode die FB- API aufrufen?
https://developers.facebook.com/docs/reference/javascript/FB.api/
Hier kannst du dann auch FQL verwenden, um an de facto alle erdentlichen (freigegebenen) Daten des Benutzers zu kommen
https://developers.facebook.com/docs/reference/fql/
Das hab ich mir schon alles durchgelesen, aber ich bin vielleicht zu blöd, ich verstehs nicht.
ich weiß nicht wie ich zu der ID komme, die ist ja bei Facebook gespeichert,
Vielleicht hab ich da eine Denkblockade, aber wenn sich jemand über den Facebook- Login für meine Appl einlogged, müsste es ja eine Callback- Methode geben, mit der ich dann den Namen und das Profile- Image abfragen kann, oder?
Anders kanns ja eigentlich nicht gehen,
Ich kann ja nicht auf meiner WebApp ein FB- Login bereitstellen, dann loggt sich der User bei Facebook ein und ich bekomm in meiner WebApp gar nichts mit - so kanns ja nicht gehen, oder seh ich da was falsch?
lg
Birgit
Das hab ich mir schon alles durchgelesen, aber ich bin vielleicht zu blöd, ich verstehs nicht.
ich weiß nicht wie ich zu der ID komme, die ist ja bei Facebook gespeichert,
der angemeldete Benutzer ist '/me' - 2. Codebeispiel
Vielleicht hab ich da eine Denkblockade, aber wenn sich jemand über den Facebook- Login für meine Appl einlogged, müsste es ja eine Callback- Methode geben, mit der ich dann den Namen und das Profile- Image abfragen kann, oder?
Du hast das nicht durchgelesen, oder?
Anders kanns ja eigentlich nicht gehen,
Ja, das kann man nicht überlesen.
Ich kann ja nicht auf meiner WebApp ein FB- Login bereitstellen, dann loggt sich der User bei Facebook ein und ich bekomm in meiner WebApp gar nichts mit - so kanns ja nicht gehen, oder seh ich da was falsch?
Der Nutzer muss sich bei dir aktiv anmelden oder deiner appId (siehe fb.init) bereits eine explizite Freigabe erteilt haben - nur weil er bei Facebook angemeldet ist, ist er nicht automatisch auch dir bekannt.
Habs schon durchgelesen, ich bekomm aber immer "undefined" zurück mit dem Code:
<html>
<head>
<title>My Facebook Login Page</title>
</head>
<body>
Standardmäßig: we give you access to the user's name and picture
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '3383323323232332443", // App ID
//channelUrl : '//localhost:8080/FacebookAuthTest/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.api('/me', function(user) {
alert("Das ist der user: " + user + ", " + user.id);
if (user) {
var image = document.getElementById('image');
image.src = 'http://graph.facebook.com/' + user.id + '/picture';
var name = document.getElementById('name');
name.innerHTML = user.name
}
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
<div class="fb-login-button">
Login at Atleticus with Facebook
</div>
<input type="submit" value="Facebook Communication" name="fbcomm" onclick="buttonClicked()" />
<div align="center">
<img id="image"/>
<div id="name"></div>
</div>
</body>
</html>
In der WEb- Console wird weiters folgendes ausgegeben:
[14:03:38.289] ({error:{message:"Invalid OAuth access token.", type:"OAuthException", code:190}}) @ http://localhost:8080/FacebookAuthTest/facebookcommunication.js:7
Ich hab natürlich gegoogelt, da steht dann unter anderem man soll den tocken dazugeben. Ich weiß aber weder wie noch wo?
Besten Dank!
Birgit
Ich hab natürlich gegoogelt, da steht dann unter anderem man soll den tocken dazugeben. Ich weiß aber weder wie noch wo?
Du hast keine Authentikation gemacht - du kannst fb.api nur authentiziert aufrufen:
https://developers.facebook.com/docs/authentication/client-side/