Facebook api 没有响应
Facebook api not responding
我按照有关开始使用 Facebook 的说明进行操作 API,但无法弄清楚为什么会出现错误
Uncaught ReferenceError: FB is not defined
这是我的代码
<body>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '627917414035377',
xfbml : true,
version : 'v2.7'
});
};
(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'));
FB.api(
'/me',
'GET',
{"fields":"fan_count"},
function(response) {
// Insert your code here
console.log(response);
}
);
</script>
</body>
以这种方式加载 SDK 时,您需要等到它正确初始化(通过 fbAsyncInit 事件处理程序中的 FB.init 调用发生),然后才能进一步使用 FB 对象。
如果您只想在页面加载时进行自动 API 调用,无需任何用户交互 - 只需将调用置于 fbAsyncInit 处理函数中,在 FB.init:[=11= 之后]
window.fbAsyncInit = function() {
FB.init({
// …
});
FB.api({
// …
});
};
虽然,如果用户没有先登录,您可能会收到一条错误消息,提示 API 调用需要访问令牌。
此外,当您在每次加载页面时发出此请求时,您可能很快就会 运行 进入 API 速率限制。
您应该在服务器端执行此操作(使用应用程序或页面访问令牌),并实施某种形式的缓存,这样您就不必在每个页面上都发出 API 请求加载。
我按照有关开始使用 Facebook 的说明进行操作 API,但无法弄清楚为什么会出现错误
Uncaught ReferenceError: FB is not defined
这是我的代码
<body>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '627917414035377',
xfbml : true,
version : 'v2.7'
});
};
(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'));
FB.api(
'/me',
'GET',
{"fields":"fan_count"},
function(response) {
// Insert your code here
console.log(response);
}
);
</script>
</body>
以这种方式加载 SDK 时,您需要等到它正确初始化(通过 fbAsyncInit 事件处理程序中的 FB.init 调用发生),然后才能进一步使用 FB 对象。
如果您只想在页面加载时进行自动 API 调用,无需任何用户交互 - 只需将调用置于 fbAsyncInit 处理函数中,在 FB.init:[=11= 之后]
window.fbAsyncInit = function() {
FB.init({
// …
});
FB.api({
// …
});
};
虽然,如果用户没有先登录,您可能会收到一条错误消息,提示 API 调用需要访问令牌。
此外,当您在每次加载页面时发出此请求时,您可能很快就会 运行 进入 API 速率限制。
您应该在服务器端执行此操作(使用应用程序或页面访问令牌),并实施某种形式的缓存,这样您就不必在每个页面上都发出 API 请求加载。