此示例(最初来自 Stack Overflow 文档)展示了如何获取 Facebook 访问令牌以及使用令牌获取 FB 提要和数据以显示您的网站:
示例:
一个活生生的例子在
https://newtonjoshua.com
Graph API 简介:
Graph API 是获取数据进出 Facebook 平台的主要方式。它是一个基于 HTTP 的低级 API,可用于查询数据、发布新故事、管理广告、上传照片以及应用可能需要执行的各种其他任务。
脸书应用:
https://developers.facebook.com
创建一个 Facebook 应用。你会得到一个App_Id 和App_Secret
图形 API 浏览器:
https://developers.facebook.com/tools/explorer/<strong>{{App_Id}}</strong>/?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}}
您将获得一个有效期为 2 个月的access_token。
访问令牌调试器:
https://developers.facebook.com/tools/debug/accesstoken?q={{access_token}}&version=v2.8
您可以查看access_token的详细信息。
适用于 JavaScript 的 Facebook SDK:
在您的 HTML 中包含以下 JavaScript 以将 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>
图形 API:
让我们调用一个 API 来获取我们的 FB id、个人资料图片、封面图片和提要。
<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”)
现在您可以使用您的 access_token 从 Facebook Graph API 获取您的 Facebook 数据。
参考https://developers.facebook.com/docs/graph-api/overview/
注意:您的access_token 将在 2 个月后过期。之后创建一个新的 access_token。