Этот пример (первоначально из документации по переполнению стека) показывает, как получить токены доступа Facebook и как использовать токены для получения каналов FB и данных для отображения на вашем веб-сайте:
Пример:
Живой пример доступен в
https://newtonjoshua.com
Введение в API Graph:
Graph API - это основной способ получения данных с платформы Facebook.Это низкоуровневый API-интерфейс на основе HTTP, который можно использовать для запроса данных, публикации новых историй, управления рекламой, загрузки фотографий и множества других задач, которые могут понадобиться приложению.
FaceBookПриложения:
https://developers.facebook.com
Создание приложения Facebook.Вы получите App_Id
и App_Secret
Graph API Explorer:
https://developers.facebook.com/tools/explorer/{{App_Id}}
/?method=GET&path=me%2Ffeed&version=v2.8
Вы будетеполучите access_token
, который недолговечен.Так что это будет наше примечание short_lived_access_token
.
: при создании токена доступа выберите все поля fb, которые вам требуются. Это даст разрешение токену доступа на выбор этих полей.
Расширение токена доступа:
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={{App_Id}}&client_secret={{App_Secret}}&fb_exchange_token={{short-lived-access_token}}
Вы получите access_token
со сроком действия 2 месяца.
Access Token Debugger:
https://developers.facebook.com/tools/debug/accesstoken?q={{access_token}}&version=v2.8
Вы можете проверить подробности access_token
.
Facebook SDK для JavaScript:
Включите приведенный ниже JavaScript в свой HTML-код для асинхронной загрузки SDK на свою страницу
<script>
(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'));
</script>
Graph API:
Давайте сделаем вызов API, чтобы получить наш идентификатор FB, изображение профиля, изображение обложки и каналы.
<script>
window.fbAsyncInit = function () {
FB.init({
appId: '{{App_Id }}',
xfbml: true,
version: 'v2.7'
});
FB.api(
'/me',
'GET', {
fields: 'id,picture{url},cover,feed',
access_token: {{access_token}}
},
function (response) {
if (response.error) {
console.error(response.error.message);
}
if (response.picture.data.url) {
profilePic = response.picture.data.url;
}
if (response.cover.source) {
coverPic = response.cover.source;
}
if (response.feed.data) {
feeds = response.feed.data;
feeds.forEach(function (feed) {
// view each feed content
});
}
if (response.feed.paging.next) {
nextFeedPage = response.feed.paging.next;
// a request to nextFeedPage will give the next set of feeds
}
}
);
};
</script>
Используйте Graph API Explorer для разработки запроса, который следует вводить в поля ''(например:' id, picture {url}, cover, feed ')
Теперь вы можете получать свои данные Facebook из API Graph Facebook, используя ваш access_token.
см. https://developers.facebook.com/docs/graph-api/overview/
примечание: срок действия вашего access_token
истекает через 2 месяца.Создайте новый access_token после этого.