当我输入这个fb:like按钮关闭时 - Facebook API运行状况页面报告错误 https://developers.facebook.com/live_status
我相信很快就会回来,但我怎么能发现这个? 原因是;我希望隐藏页面上的其他元素,因为当你有一个facebook功能时,它看起来很奇怪。然后按钮丢失了。
答案 0 :(得分:4)
从此网站获取JSON响应:https://www.facebook.com/feeds/api_status.php
答案 1 :(得分:0)
对于NodeJS:
您可以使用节点附带的https模块:https://nodejs.org/api/https.html#https_https_request_options_callback
我在我的Node.js服务器上遇到了这个问题,但找到了解决方案。我试图做一个没有运气的http请求(不断得到一个不受支持的浏览器问题),但当我尝试用cURL做它时,它工作得很好。
所以我决定在我的标题中为我的NodeJS请求传递一个User-Agent,因为我得到了不支持的浏览器问题:
var https = require("https");
var options = {
hostname: 'www.facebook.com',
port: 443,
path: '/feeds/api_status.php',
method: 'GET',
headers: {
"User-Agent": 'curl/7.43.0'
}
};
var req = https.request(options, function(res) {
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.end();
req.on('error', function(e) {
console.error(e);
});
然后api_status会在你的控制台中输出:
{
"current": {
"health": 1,
"subject": "Facebook Platform is Healthy"
},
"push": {
"status": "Complete",
"updated": "2016-01-27T16:05:12-08:00",
"id": 61183893
}
}
你可以用它来做你需要的。例如,如果您想使用它来查看Facebook API是否健康,您可以执行以下操作:
var facebookIsHealthy;
var req = https.request(options, function(res) {
res.on('data', function(d) {
// d is a buffer object
var bufferString = d.toString();
var bufferObject = JSON.parse(bufferString);
if(bufferObject.current.health === 1) {
facebookIsHealthy = true;
}
else {
facebookIsHealthy = false;
}
});
});
希望这有帮助!