我有一个应用程序,当用户输入他们的Facebook粉丝页面网址时,我提取页面ID并将其存储到数据库中,以便以后在Facebook图形API中使用。
我添加了以下js来提取页面ID:
<script>
var fburl= "https://www.facebook.com/audi";
if(fburl.indexOf("?") != -1) {
var fburl_new=fburl.split("/");
var fburl_newer=(fburl_new[fburl_new.length-1])
var fburl_newer =fburl_newer.split("?");
var fbnameonly=(fburl_newer[fburl_newer.length-2]);
} else {
var fbnameonly = fburl.substring(fburl.lastIndexOf('/') + 1);
}
if(fbnameonly==undefined) {
console.log(fburl);
}else {
console.log(fbnameonly);
}
</script>
因此,如果用户输入像这样的Facebook网址https://www.facebook.com/audi
,我会得到audi
很好的输出。
如果用户以:形式输入facebook网址https://www.facebook.com/pages/abc-def/1234568
,则可以得到1234568
很好的输出。
但对于像这样的网址:
https://www.facebook.com/abc-def-12345678/
(应返回12345678)
或者
https://www.facebook.com/audi/timeline?ref=page_internal
(应返回audi)
我无法获取页面ID,是否有更好的方法可以从任何Facebook粉丝页面URL中提取页面ID并在Facebook图形API中使用,例如:https://graph.facebook.com/page_id
dynamic?
我想出了一种从任何Facebook页面网址获取页面ID的更好方法,我不确定是否还有更好的选择,但这是我使用的代码:
$fbUrl = "https://www.facebook.com/Lo-stile-di-Anna-1521824524722026";
$graphUrl = "https://graph.facebook.com/?id=".$fbUrl."&access_token=xxxxx&fields=id";
$output = file_get_contents($graphUrl);
$output = json_decode($output, TRUE);
echo $output["id"]; // returns 1521824524722026
我尝试了各种Facebook网址,并且每次都能正常使用,希望这对以后有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句