这次我比 Stackoverflow 快 ;)
这是我最终得到的代码:
var appID = "1234567890";
var path = 'https://www.facebook.com/dialog/oauth?';
var successUrl = "https://www.facebook.com/connect/login_success.html";
var queryParams = [
'client_id=' + appID,
'redirect_uri=' + successUrl,
'display=popup',
'scope=email,read_stream',
'response_type=token'
];
var query = queryParams.join('&');
var url = path + query;
sp.core.showAuthDialog(url, successUrl, {
onSuccess : function(response) {
console.log('success', response);
// response contains access token in hashstring
var queryPart = response.split("#")[1];
var queryStrings = queryPart.split("&");
accessToken = queryStrings[0].split('=')[1];
// we will use the token to get the rest of the user data
$.getJSON('https://graph.facebook.com/me?access_token=' + accessToken + '&callback=?', function(facebookUser){
console.log('logged in user: ', facebookUser);
// TODO: add logic to handle the user here
});
}
});