เริ่มต้นใช้งานไลบรารีของไคลเอ็นต์ PHP

หากต้องการเริ่มใช้ Google Photos Library API กับไลบรารีของไคลเอ็นต์ PHP คุณจะต้องตั้งค่าไลบรารีของไคลเอ็นต์ในสภาพแวดล้อมการพัฒนา จากนั้นจึงกำหนดค่าโปรเจ็กต์โดยเปิดใช้ API ผ่านคอนโซล Google API และตั้งค่ารหัสไคลเอ็นต์ OAuth 2.0

แอปพลิเคชันของคุณจะโต้ตอบกับ Google Photos ในนามของผู้ใช้ Google Photos ตัวอย่างเช่น เมื่อคุณสร้างอัลบั้มในคลังภาพ Google Photos ของผู้ใช้ หรืออัปโหลดรายการสื่อไปยังบัญชี Google Photos ของผู้ใช้ ผู้ใช้ดังกล่าวจะให้สิทธิ์คำขอ API เหล่านี้ผ่านโปรโตคอล OAuth 2.0

รหัสไคลเอ็นต์ OAuth 2.0 ช่วยให้ผู้ใช้แอปพลิเคชันลงชื่อเข้าใช้ ตรวจสอบสิทธิ์ และใช้ Library API ได้ Library API ไม่รองรับบัญชีบริการ หากต้องการใช้ API นี้ ผู้ใช้ต้องลงชื่อเข้าใช้บัญชี Google ที่ถูกต้อง

กำหนดค่าแอป

เปิดใช้ API

คุณต้องเปิดใช้ Library API ให้กับโปรเจ็กต์ก่อนจึงจะใช้ Library API ได้

  1. ไปที่คอนโซล Google API
  2. จากแถบเมนู ให้เลือกโปรเจ็กต์หรือสร้างโปรเจ็กต์ใหม่
  3. หากต้องการเปิดไลบรารี Google API ให้เลือก API และบริการ > ไลบรารีจากเมนูการนำทาง
  4. ค้นหา "Google Photos Library API" เลือกผลการค้นหาที่ถูกต้องแล้วคลิกเปิดใช้

ขอรหัสไคลเอ็นต์ OAuth 2.0

ทำตามขั้นตอนด้านล่างเพื่อขอรหัสไคลเอ็นต์ OAuth และกำหนดค่าสำหรับแอปพลิเคชัน ตัวอย่างนี้ใช้แอปพลิเคชันที่จัดการโฟลว์ OAuth ทั้งหมดฝั่งเซิร์ฟเวอร์ อย่างเช่นในตัวอย่างของเรา ขั้นตอนการตั้งค่าอาจแตกต่างกันไปตามสถานการณ์การใช้งานอื่นๆ

  1. ไปที่คอนโซล Google API แล้วเลือกโปรเจ็กต์
  2. จากเมนู ให้เลือก API และบริการ > ข้อมูลเข้าสู่ระบบ
  3. ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
  4. เลือกประเภทแอปพลิเคชัน ในตัวอย่างนี้ ประเภทแอปพลิเคชันคือเว็บแอปพลิเคชัน
  5. ลงทะเบียนต้นทางที่แอปของคุณได้รับอนุญาตให้เข้าถึง Google API ดังนี้

    1. หากต้องการระบุรหัสไคลเอ็นต์ ให้ป้อนชื่อ
    2. ในช่องต้นทาง JavaScript ที่ได้รับอนุญาต ให้ป้อนต้นทางสำหรับแอป โดยช่องนี้ไม่อนุญาตให้ใช้ไวลด์การ์ด

      คุณป้อนต้นทางหลายรายการเพื่อให้แอปทำงานบนโปรโตคอล โดเมน หรือโดเมนย่อยต่างๆ ได้ URL ที่คุณป้อนจะเริ่มส่งคำขอ OAuth ได้

      ตัวอย่างต่อไปนี้แสดง URL การพัฒนาในเครื่อง (ตัวอย่างของเราใช้ localhost:8080) และ URL เวอร์ชันที่ใช้งานจริง

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. ช่อง URI การเปลี่ยนเส้นทางที่ได้รับอนุญาตคือปลายทางที่รับการตอบกลับจากเซิร์ฟเวอร์ OAuth 2.0 โดยปกติแล้วจะรวมถึงสภาพแวดล้อมในการพัฒนาและชี้ไปยังเส้นทางในแอปพลิเคชันของคุณ

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. คลิกสร้าง

  1. จากกล่องโต้ตอบไคลเอ็นต์ OAuth ที่ปรากฏ ให้ดาวน์โหลดไฟล์ JSON ที่มีการกำหนดค่าไคลเอ็นต์ รายละเอียดของไคลเอ็นต์ประกอบด้วยข้อมูลต่อไปนี้

    • Client-ID
    • รหัสลับไคลเอ็นต์

    ระบบจะใช้ไฟล์ JSON นี้เพื่อตั้งค่าไลบรารีการตรวจสอบสิทธิ์ของ Google สำหรับ PHP ที่ทำงานร่วมกับไลบรารีของไคลเอ็นต์นี้ในภายหลัง

ก่อนที่คุณจะสามารถเปิดแอปพลิเคชันสาธารณะที่เข้าถึง Library API ได้ Google ต้องตรวจสอบแอปของคุณก่อน ข้อความ "แอปที่ไม่ได้รับการยืนยัน" จะปรากฏบนหน้าจอเมื่อคุณทดสอบแอปพลิเคชัน จนกว่าจะได้รับการยืนยัน

ตั้งค่าไลบรารีของไคลเอ็นต์

ไลบรารีของไคลเอ็นต์ PHP จะจัดการการเรียก API แบ็กเอนด์ทั้งหมดให้คุณ และแสดงออบเจ็กต์ที่เป็นมิตรกับผู้ใช้ให้ทำงานได้ ซึ่งรวมถึงตัวอย่างโค้ดสำหรับงาน API ทั่วไปบางรายการ ขั้นแรก ให้ดาวน์โหลดและติดตั้งไลบรารีของไคลเอ็นต์ Google Photos Library API สำหรับ PHP พร้อมด้วยทรัพยากร Dependency จาก GitHub จากนั้นตั้งค่าข้อมูลเข้าสู่ระบบ OAuth2 สำหรับ PHP

ตัวเลือกการดาวน์โหลด

ใช้ Composer เพื่อรวมไลบรารีเป็นทรัพยากร Dependency ในสภาพแวดล้อมการพัฒนา เรียกใช้คำสั่งต่อไปนี้เพื่อเพิ่มไลบรารีในการกำหนดค่าโปรเจ็กต์ และดาวน์โหลดลงในไดเรกทอรี vendor/

composer require google/photos-library

หรือจะโคลนที่เก็บหรือดาวน์โหลด tarball ที่บีบอัดก็ได้เช่นกัน

ตั้งค่าข้อมูลเข้าสู่ระบบ OAuth2 สำหรับ PHP

ไลบรารีของไคลเอ็นต์นี้ใช้งานได้กับไลบรารีการตรวจสอบสิทธิ์ของ Google สำหรับ PHP ดูข้อมูลเพิ่มเติมได้ที่การใช้ OAuth 2.0 กับไลบรารีของไคลเอ็นต์ Google API สำหรับ PHP

ใช้ข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ที่แสดงโดยไลบรารีการตรวจสอบสิทธิ์เมื่อตั้งค่า PhotosLibraryClient

ลองใช้ตัวอย่างบางรายการ

ลองใช้โค้ดด้านล่างเพื่อเรียก API ครั้งแรกโดยใช้ไลบรารีของไคลเอ็นต์ PHP

use Google\Auth\Credentials\UserRefreshCredentials;
use Google\Photos\Library\V1\PhotosLibraryClient;
use Google\Photos\Library\V1\PhotosLibraryResourceFactory;

try {
    // Use the OAuth flow provided by the Google API Client Auth library
    // to authenticate users. See the file /src/common/common.php in the samples for a complete
    // authentication example.
    $authCredentials = new UserRefreshCredentials( /* Add your scope, client secret and refresh token here */ );

    // Set up the Photos Library Client that interacts with the API
    $photosLibraryClient = new PhotosLibraryClient(['credentials' => $authCredentials]);

    // Create a new Album object with at title
    $newAlbum = PhotosLibraryResourceFactory::album("My Album");

    // Make the call to the Library API to create the new album
    $createdAlbum = $photosLibraryClient->createAlbum($newAlbum);

    // The creation call returns the ID of the new album
    $albumId = $createdAlbum->getId();
} catch (\Google\ApiCore\ApiException $exception) {
    // Error during album creation
} catch (\Google\ApiCore\ValidationException $e) {
    // Error during client creation
    echo $exception;
}

มีตัวอย่างอื่นๆ ใน GitHub ให้คุณลองใช้แล้ว