你好來自超級棒的人來自stackoverflow!如何從Facebook個人資料或網頁URL中獲取數字ID? PHP,Facebook圖形API
我需要幫助這個PHP腳本..我想從用戶獲取Facebook ID時,它在輸入框中進入他的Facebook配置文件鏈接。個人資料鏈接示例:https://www.facebook.com/profilename。我有一個腳本,它從url中收集「profilename」並將其保存到$ username,但現在我需要腳本將該profilename轉換爲該配置文件的Facebook ID並將其保存到$ username。現在,我知道你可以手動輕鬆地獲得Facebook ID,當你右鍵點擊用戶個人資料圖片比點擊複製鏈接地址和最後一個數字後。(點)是用戶配置文件ID ..或另一種方法是掃描頁面的<meta property="al:ios:url"
或<meta property="al:android:url"
這也將獲得用戶ID。這是具有該工作腳本的網站。 http://findmyfbid.com/
這是我現在的代碼:正如你可以看到它只需要URL的最後一部分..請幫助正確地將該profilename轉換爲ID並將其保存到$ username。謝謝。
/* CHECKING */
if (isset($_POST["urlCheck"])) {
$url = $_POST["urlCheck"];
$urlParts = explode("facebook.com/", $url);
$username = GetOnlyUsername($urlParts[1]);
if (filter_var($url, FILTER_VALIDATE_URL) !== false)
exit("success");
else
exit("error");
}
/* TAKING INFO */
if (isset($_POST["urlGetData"])) {
$url = $_POST["urlGetData"];
$urlParts = explode("facebook.com/", $url);
$username = GetOnlyUsername($urlParts[1]);
$name= GetData($username);
function GetOnlyUsername($username) {
if ((strpos($username, 'profile.php?id=')) !== false) {
$username = str_replace("profile.php?id=", "", $username);
if ((strpos($username, '&fref=ts')) !== false) {
$username = str_replace("&fref=ts", "", $username);
}
} else if ((strpos($username, '?')) !== false) {
$test = explode("?", $username);
$username = $test[0];
}
return $username;
}
因此,給定'https:// www.facebook.com/profilename'的輸入,你想1)從URL中提取'profilename'或者2)提取'profilename'並將其轉換爲數字Facebook ID? – jehna1
正確!當用戶輸入https://www.facebook.com/profilename時,我只想將「profilename」轉換爲Facebook ID並保存到該函數GetOnlyUsername($ username),因爲腳本的其餘部分在輸入時工作正常是https://www.facebook.com/ID。所以答案是1)從URL中提取配置文件名並將其轉換爲數字Facebook ID。 –
爲了獲得更好的代碼可讀性,您可以對用戶標識和用戶名使用不同的命名。我建議你分別使用變量名'$ userid'和'$ username'。你也想從'GetOnlyUsername($ username)'將你的函數命名爲'GetUsernameFromFacebookURL($網址)'。我還建議使用註釋優先的方法來編碼,因爲現在很難弄清楚你想用該代碼完成的邏輯。 – jehna1