使用 Google Location Sharing 修改預設語言為繁體中文(zh-TW)- PHP 版本

最近因為 Google Location Sharing 的 URL 預設是 zh 非常煩惱,後來找到方法是直接修改回傳的 URL 來解決這個問題。在這篇我們將討論如何使用 PHP 語言來與 Google Location Sharing 互動,並將預設語言由簡體中文(zh)修改為繁體中文(zh-TW)。我們將逐步解釋程式碼中的每個部分,以便讀者更好地了解其運作原理。

詳細程式碼

<?php

/**
 * 將 Google Location Sharing 中的預設語言更改為繁體中文(zh-TW)
 *
 * @param string $originalURL 原始 URL
 * @param string $newLanguage 新語言代碼
 * @param bool $debug 啟用或禁用除錯模式
 * @return string|bool 更新後的 URL 或取得失敗時回傳 false
 */
function getUpdatedURL($originalURL, $newLanguage, $debug = false) {
    $ch = curl_init($originalURL);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    curl_setopt($ch, CURLOPT_HEADER, true);

    $response = curl_exec($ch);
    $info = curl_getinfo($ch);
    curl_close($ch);

    if ($info['http_code'] == 302 && isset($info['redirect_url'])) {
        $newURL = str_replace('hl=zh', 'hl=zh-TW', $info['redirect_url']);


        if ($debug) {
            echo "Original URL: $originalURL\n";
            echo "Redirect URL: " . $info['redirect_url'] . "\n";
            echo "New Language: $newLanguage\n";
            echo "Updated URL: $newURL\n";
        }

        return $newURL;
    } else {

        if ($debug) {
            echo "Failed to retrieve updated URL.\n";
            echo "HTTP Code: " . $info['http_code'] . "\n";
        }
        return false;
    }
}
?>

程式使用方法

<?php

$originalURL = 'https://maps.app.goo.gl/qqqggCbbb8mffff66';
$newLanguage = 'zh-TW';
$debugMode = true;
$updatedURL = getUpdatedURL($originalURL, $newLanguage, $debugMode);

if ($updatedURL) {
    echo "Updated URL: $updatedURL";
} else {
    echo "Failed to retrieve updated URL.";
}
?>

程式碼解釋

1. getUpdatedURL 函數

這個函數是主要的功能實現部分。它接收三個參數:

  • $originalURL:原始的 Google Location Sharing URL。
  • $newLanguage:新的語言,這裡我們預設為 ‘zh-TW’。
  • $debug:是否啟用除錯模式,預設為關閉。

函數使用 cURL 執行 HTTP 請求,並禁用自動重定向。接著,它檢查回應的 HTTP 狀態碼,若為 302 且有重定向 URL,則將該 URL 中的 ‘hl=zh’ 取代為 ‘hl=zh-TW’。

如果啟用了除錯模式,則會輸出原始 URL、重定向 URL、新的語言和更新後的 URL。

2. 測試函數

在這部分,我們定義了一個測試函數,用於測試 getUpdatedURL 函數。我們提供了一個 Google Location Sharing 的原始 URL、新的語言 ‘zh-TW’,並可以選擇是否啟用除錯模式。

最後,我們呼叫 getUpdatedURL 函數,如果成功取得更新後的 URL,則輸出更新後的 URL;否則輸出錯誤訊息。

實際應用

這段程式碼的實際應用是在與 Google Location Sharing API 互動的過程中,修改預設的語言設定。這可能對於特定地區的使用者更友好,使得介面以他們熟悉的語言顯示。