Я работаю над тем, чтобы включить список событий, размещенных на странице Facebook на моем веб-сайте. Загвоздка в том, что я пытаюсь найти чисто клиентский JavaScript способ сделать это. Я не могу использовать PHP. Я могу использовать ASP.NET, но я борюсь с серьезным отсутствием документации Facebook C # SDK. Однако у меня есть почти идеальная реализация того, что я хочу сделать в JavaScript:
(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/all.js#xfbml=1&appId=MY_APP_ID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
$(document).ready(function(){
FB.init({
appId: 'MY_APP_ID',cookie: true,xfbml: true,status: true });
var token;
FB.getLoginStatus(function (response) {
if (response.authResponse) {
token = response.authResponse.accessToken;
// Get and parse list of upcoming events
$.getJSON("https://graph.facebook.com/mypagename/events?access_token="+token+"&callback=?",function(json){
for (item in json.data) {
$("#eventsFromFacebook").append('<h3><a href="https://www.facebook.com/events/' +json.data[item].id +'/">' +json.data[item].name + '</a></h3>');
$("#eventsFromFacebook").append('<strong>' +json.data[item].start_time +'</strong>');
getItemDescription(json.data[item].id);
$("#eventsFromFacebook").append("<div id='event"+json.data[item].id+"'></div>");
}
});
// Get and parse event descriptions. This is a separate call for each event.
function getItemDescription(id) {
$.getJSON("https://graph.facebook.com/"+id+"?access_token="+token+"&callback=?",function(jsonItem) {
$("#event"+id).html('<p>' +jsonItem.description+'</p>');
});
}
} else {
// not logged in
$("#eventsFromFacebook").append("Not getting access to Facebook :(");
}
});
});
(для этого требуется FB JS SDK, jQuery и следующий HTML:)
<div id="eventsFromFacebook"></div>
Таким образом, этот код успешно извлекает события, опубликованные на определенной странице администратора, и публикует их на своем веб-сайте, при условии, что я вошел в Facebook с использованием учетной записи, подключенной к приложению и странице. Однако, если я не вошел в систему как пользователь, прошедший проверку подлинности в моем приложении, я не смогу получить правильный доступ, чтобы сделать это.
Существует ли чисто JavaScript-способ, позволяющий мне получить токен доступа, который мне нужен для получения информации о событии со страницы , когда я не вошел в систему ? Я не хочу требовать, чтобы пользователи проходили аутентификацию с моим приложением на моем веб-сайте, чтобы иметь возможность просматривать информацию. В идеале я хотел бы, чтобы они могли видеть список событий, не входя ни в какую учетную запись Facebook. Это возможно?
Если это невозможно, как запасной вариант, будет ли способ позволить пользователям, которым понравилась Страница (без аутентификации в приложении), по крайней мере, видеть события? Таким образом, по крайней мере, я могу добавить ссылку на свою страницу в Facebook в случае, если кто-то не вошел в Facebook (или дать им стимул понравиться Странице).
Спасибо.