ในการเริ่มใช้ 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 นี้ ผู้ใช้ต้องลงชื่อเข้าใช้บัญชี บัญชี
กำหนดค่าแอป
เปิดใช้ API
ก่อนที่จะใช้ Library API ได้ คุณต้องเปิดใช้ API สำหรับโปรเจ็กต์ก่อน
- ไปที่คอนโซล Google API
- จากแถบเมนู ให้เลือกโปรเจ็กต์หรือสร้างโปรเจ็กต์ใหม่
- หากต้องการเปิดไลบรารี Google API จากเมนูการนำทาง ให้เลือก API และ บริการ > คลัง
- ค้นหา "Google Photos Library API" เลือกผลลัพธ์ที่ถูกต้องและคลิก เปิดใช้
ขอรหัสไคลเอ็นต์ OAuth 2.0
ทําตามขั้นตอนด้านล่างเพื่อขอรหัสไคลเอ็นต์ OAuth และกําหนดค่าให้กับ แอปพลิเคชัน ตัวอย่างนี้ใช้แอปพลิเคชันที่ขั้นตอน OAuth ทั้งหมด ฝั่งเซิร์ฟเวอร์ที่จัดการ อย่างเช่นในตัวอย่างของเรา ขั้นตอนการตั้งค่าอาจแตกต่างกันไป เพื่อดูสถานการณ์การใช้งานอื่นๆ
- ไปที่คอนโซล Google API แล้วเลือกโปรเจ็กต์
- จากเมนู ให้เลือก API & บริการ > ข้อมูลเข้าสู่ระบบ
- ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- เลือกประเภทแอปพลิเคชัน ในตัวอย่างนี้ ประเภทแอปพลิเคชันคือ เว็บแอปพลิเคชัน
ลงทะเบียนต้นทางที่แอปของคุณได้รับอนุญาตให้เข้าถึง Google APIs ดังนี้
- หากต้องการระบุรหัสไคลเอ็นต์ ให้ป้อนชื่อ
ในช่องต้นทาง JavaScript ที่ได้รับอนุญาต ให้ป้อนต้นทางสำหรับ แอป ช่องนี้ไม่อนุญาตให้ใช้ไวลด์การ์ด
คุณป้อนต้นทางหลายแห่งได้เพื่อให้แอปทำงานบน โปรโตคอล โดเมน หรือโดเมนย่อย URL ที่คุณป้อนได้รับอนุญาตให้ เริ่มคำขอ OAuth
ตัวอย่างต่อไปนี้แสดง URL การพัฒนาในเครื่อง (ตัวอย่างของเราใช้
localhost:8080
) และ URL เวอร์ชันที่ใช้งานจริงhttp://localhost:8080 https://myproductionurl.example.com
ช่อง URL การเปลี่ยนเส้นทางที่ได้รับอนุญาตคือปลายทางที่รับ การตอบกลับจากเซิร์ฟเวอร์ OAuth 2.0 โดยทั่วไป กรณีนี้จะรวมถึง การพัฒนาซอฟต์แวร์และชี้ไปยังเส้นทางในแอปพลิเคชันของคุณ
http://localhost:8080/auth/google/callback https://myproductionurl.example.com/auth/google/callback
คลิกสร้าง
-
ดาวน์โหลดไฟล์ JSON จากกล่องโต้ตอบไคลเอ็นต์ OAuth ที่แสดง ที่มีการกำหนดค่าไคลเอ็นต์ของคุณ รายละเอียดไคลเอ็นต์ของคุณประกอบด้วย ดังต่อไปนี้:
- Client-ID
- รหัสลับไคลเอ็นต์
ระบบจะใช้ไฟล์ JSON นี้เพื่อตั้งค่าในภายหลัง ไลบรารีการตรวจสอบสิทธิ์ของ Google สำหรับ PHP ซึ่งทำงานร่วมกับไลบรารีของไคลเอ็นต์นี้
ก่อนที่คุณจะสามารถเปิดแอปพลิเคชันสาธารณะที่เข้าถึง Library API ได้ แอปของคุณต้องได้รับการตรวจสอบจาก Google "แอปที่ไม่ได้รับการยืนยัน" ปรากฏใน เมื่อคุณทดสอบแอปพลิเคชัน จนกว่าจะ ได้รับการยืนยันแล้ว
ตั้งค่าไลบรารีไคลเอ็นต์
ไลบรารีไคลเอ็นต์ PHP จะจัดการการเรียก API แบ็กเอนด์ทั้งหมดให้คุณ และแสดง ออบเจ็กต์ friendly ที่ต้องทำงานด้วย ซึ่งรวมถึงตัวอย่างโค้ดสำหรับงาน 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 ให้คุณได้ลองใช้