สร้างฟังก์ชั่นสำหรับ Request API URL รูปแบบ GET

  1. รับพารามิเตอร์ $api_url และ $token (ที่มีค่าเริ่มต้นเป็น null) เพื่อใช้ในการส่งคำขอ GET ไปยัง URL ของ API.
  2. สร้าง cURL และตั้งค่าการรับข้อมูลที่คืนมาจากเซิร์ฟเวอร์.
  3. ตรวจสอบว่ามี Token หรือไม่ ถ้ามี Token จะแนบ Header “Authorization” ในคำขอ GET.
  4. ส่งคำขอ GET ไปยังเซิร์ฟเวอร์ API และรับข้อมูลที่คืนมา.
  5. ตรวจสอบว่าการส่งคำขอสำเร็จหรือไม่ หากไม่สำเร็จจะส่งข้อมูลข้อผิดพลาดกลับ.
  6. หากคำขอสำเร็จและได้รับข้อมูล JSON ที่ถูกต้อง ฟังก์ชันจะแปลง JSON เป็น PHP array และส่งคืนข้อมูลนั้น.
  7. ปิดการใช้งาน cURL.

<?php
function getApiResponse($api_url, $token = null) {
    // สร้าง cURL รองรับคำขอ GET
    $curl = curl_init($api_url);

    // ตั้งค่าการรับข้อมูลที่คืนมาจากเซิร์ฟเวอร์
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    // ถ้ามี Token ให้แนบ Header Authorization ด้วย
    if ($token) {
        $headers = array(
            'Authorization: Bearer ' . $token,
            // แนบเฮดเดอร์อื่น ๆ ตามความจำเป็น
        );
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    }

    // ส่งคำขอ GET ไปยังเซิร์ฟเวอร์และรับข้อมูลที่คืนมา
    $response = curl_exec($curl);

    // ตรวจสอบการส่งคำขอสำเร็จหรือไม่
    if ($response === false) {
        return array('error' => 'Error: ' . curl_error($curl));
    } else {
        // แปลง JSON ที่ได้รับเป็น PHP array
        $data = json_decode($response, true);

        if ($data === null) {
            return array('error' => 'Error decoding JSON');
        }

        return $data;
    }

    // ปิดการใช้งาน cURL
    curl_close($curl);
}

// เรียกใช้ฟังก์ชันเพื่อรับข้อมูล JSON
$api_url = 'https://example.com/api/endpoint';
$token = 'YourTokenHere'; // เปลี่ยนเป็น Token จริง
$response = getApiResponse($api_url, $token);

if (isset($response['error'])) {
    echo 'Error: ' . $response['error'];
} else {
    // ประมวลผลข้อมูล JSON ที่ได้รับ
    var_dump($response);
}
?>

ดังนั้นฟังก์ชัน getApiResponse นี้สามารถใช้สำหรับการส่งคำขอ GET ไปยัง API URL และการรับข้อมูล JSON ที่คืนมา โดยสามารถใช้ Token ในการยืนยันตัวตนหรือไม่ก็ได้ และสามารถจัดการข้อผิดพลาดที่เกิดขึ้นในการส่งคำขอหรือการแปลง JSON ด้วยความสะดวกด้วยคำสั่ง if เพื่อตรวจสอบว่ามีข้อผิดพลาดหรือไม่ และแสดงข้อความผิดพลาดหรือประมวลผลข้อมูลตามที่เหมาะสม.

Loading