Skip to content

Instantly share code, notes, and snippets.

@vinitkumar
Created November 10, 2012 17:06
Show Gist options
  • Save vinitkumar/4051730 to your computer and use it in GitHub Desktop.
Save vinitkumar/4051730 to your computer and use it in GitHub Desktop.
function onFacebookLogin() {
"use strict";
localStorage.accessToken || chrome.tabs.getAllInWindow(null, function (e) {
for (var i = 0; i < e.length; i += 1) if (e[i].url.indexOf(successURL) === 0) {
var t = e[i].url.split("#")[1];
access = t.split("&")[0], console.log(access), localStorage.setItem("accessToken", access), chrome.tabs.onUpdated.removeListener(onFacebookLogin);
return;
}
});
}
function getPermToken() {
"use strict";
$.ajax({
type: "POST",
url: "https://graph.facebook.com/oauth/access_token",
data: {
grant_type: "fb_exchange_token",
client_id: "xxxxxxxxxxx",
client_secret: "yyyyyyyyyyyyyyyyyyyy",
fb_exchange_token: tempToken
},
success: function(e) {
token = e.split("&")[0], localStorage.setItem("accesskey", token), console.log(token);
},
error: function() {
console.log("Failed to retrieve acceskey");
}
});
}
function getUserData() {
"use strict";
$.ajax({
url: "https://graph.facebook.com/me?" + permToken,
dataType: "json",
success: function(e) {
strData = JSON.stringify(e), localStorage.setItem("user", strData), value = localStorage.getItem("user"), console.log(value);
},
error: function() {
console.log("fail");
}
});
}
function getFriendInfo() {
"use strict";
$.ajax({
url: "https://graph.facebook.com/me/friends?" + permToken,
dataType: "json",
success: function(e) {
frndData = JSON.stringify(e), localStorage.setItem(userKey, frndData), frndValue = localStorage.getItem(userKey), console.log(frndValue);
},
error: function() {
console.log("fail");
}
});
}
chrome.extension.onRequest.addListener(function(e, t, n) {
"use strict";
window.u = e.url, window.t = e.title, window.category = e.cat;
});
var successURL = "http://expertapp.gadgetizor.com", i, access, userToken, token, tempToken, permToken, strData, value, userDataStr, userDataJson, userKey, frndData, frndValue;
chrome.tabs.onUpdated.addListener(onFacebookLogin), userToken = localStorage.getItem("accessToken");
if (userToken) {
tempToken = userToken.split("=")[1];
getPermToken();
} else {
console.log("User not logged to facebook yet");
}
permToken = localStorage.getItem("accesskey");
if (permToken) {
getUserData();
} else {
console.log("permanent token still not retrieved yet");
}
userDataStr = localStorage.getItem("user");
if (userDataStr) {
userDataJson = JSON.parse(userDataStr), userKey = userDataJson.id + userDataJson.name;
getFriendInfo();
} else {
console.log("still need to download user's data for key");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment