101 lines
2.4 KiB
JavaScript
101 lines
2.4 KiB
JavaScript
$(document).ready(function () {
|
|
$("#facebook-login").click(function () {
|
|
AIRTIME.facebook.promptForFacebookPage();
|
|
});
|
|
});
|
|
|
|
window.fbAsyncInit = function () {
|
|
FB.init({
|
|
appId: FACEBOOK_APP_ID,
|
|
xfbml: true,
|
|
version: "v2.4",
|
|
});
|
|
};
|
|
|
|
var AIRTIME = (function (AIRTIME) {
|
|
//Module initialization
|
|
if (AIRTIME.facebook === undefined) {
|
|
AIRTIME.facebook = {};
|
|
}
|
|
|
|
var mod = AIRTIME.facebook;
|
|
|
|
(function (d, s, id) {
|
|
var js,
|
|
fjs = d.getElementsByTagName(s)[0];
|
|
if (d.getElementById(id)) {
|
|
return;
|
|
}
|
|
js = d.createElement(s);
|
|
js.id = id;
|
|
js.src = "//connect.facebook.net/en_US/sdk.js";
|
|
fjs.parentNode.insertBefore(js, fjs);
|
|
})(document, "script", "facebook-jssdk");
|
|
|
|
mod.promptForFacebookPage = function () {
|
|
FB.login(
|
|
function (response) {
|
|
if (response.authResponse) {
|
|
mod.getPagesOwnedByUser(
|
|
response.authResponse.userID,
|
|
response.authResponse.accessToken,
|
|
);
|
|
mod.addPageTab();
|
|
} else {
|
|
console.log("Authorization failed.");
|
|
}
|
|
},
|
|
{ scope: "manage_pages" },
|
|
);
|
|
};
|
|
|
|
mod.getPagesOwnedByUser = function (userId, accessToken) {
|
|
FB.api(
|
|
"/" + userId + "/accounts",
|
|
function (response) {
|
|
console.log(response);
|
|
},
|
|
{ access_token: accessToken },
|
|
);
|
|
};
|
|
|
|
mod.addPageTab = function () {
|
|
FB.ui(
|
|
{ method: "pagetab" },
|
|
function (resp) {
|
|
console.log("response:");
|
|
console.log(resp);
|
|
var pageIdList = [];
|
|
var tabs = resp["tabs_added"];
|
|
|
|
if (tabs != undefined && Object.keys(tabs).length > 0) {
|
|
for (var pageId in tabs) {
|
|
pageIdList.push(pageId);
|
|
}
|
|
|
|
//POST these back to Airtime, which will then proxy it over to our social app. (multiple requests from Airtime)
|
|
$.post(
|
|
"facebook-tab-success",
|
|
{ pages: JSON.stringify(pageIdList) },
|
|
function () {
|
|
alert("Successfully added to your Facebook page!");
|
|
},
|
|
)
|
|
.done(function () {})
|
|
.fail(function () {
|
|
alert(
|
|
"Sorry, an error occurred and we were unable to add the widget to your Facebook page.",
|
|
);
|
|
});
|
|
}
|
|
},
|
|
{
|
|
app_id: FACEBOOK_APP_ID,
|
|
//redirect_uri: 'https://localhost'
|
|
},
|
|
);
|
|
};
|
|
|
|
return AIRTIME;
|
|
})(AIRTIME || {});
|