ใน Google Photos คุณสามารถจัดระเบียบรูปภาพและรายการสื่ออื่นๆ โดยใช้อัลบั้มได้ สามารถเชื่อมโยงรายการสื่อกับอัลบั้มได้อย่างน้อย 1 รายการ วิธีเริ่มการเชื่อมโยง รายการสื่อที่มีอัลบั้ม คุณต้องสร้างอัลบั้มก่อน
ขอบเขตการให้สิทธิ์ที่จำเป็น
หากต้องการสร้างอัลบั้ม แอปของคุณต้องขอรายการต่อไปนี้อย่างน้อย 1 รายการ ขอบเขตการให้สิทธิ์:
photoslibrary.appendonly
photoslibrary.sharing
หากต้องการเปลี่ยนชื่อหรือรูปภาพปกของอัลบั้มหลังจากสร้างอัลบั้ม ให้ใช้
photoslibrary.edit.appcreateddata
ขอบเขต
การสร้างอัลบั้มใหม่
หากต้องการสร้างอัลบั้ม ให้โทรหา
albums.create
และมี
title
โปรดทราบว่า title
จำกัดอักขระที่ 500 ตัว
การเรียกส่งคืน อัลบั้ม แอปของคุณสามารถ จัดเก็บรหัสอัลบั้มจากข้อมูลนี้และใช้เพื่อ การอัปโหลดรายการสื่อ ไปยังอัลบั้มนั้นโดยเฉพาะ
REST
ต่อไปนี้เป็นส่วนหัวสำหรับคำขอ POST:
POST https://photoslibrary.googleapis.com/v1/albums Content-type: application/json Authorization: Bearer oauth2-token
เนื้อหาของคำขอมีลักษณะดังนี้
{ "album": { "title": "new-album-title" } }
หากสำเร็จ การตอบสนองจะแสดง อัลบั้ม:
{ "productUrl": "album-product-url", "id": "album-id", "title": "album-title", "isWriteable": "whether-you-can-write-to-this-album" }
Java
try { Album createdAlbum = photosLibraryClient.createAlbum("My Album"); // The createdAlbum object contains properties of an album String productUrl = createdAlbum.getProductUrl(); // coverPhotoBaseUrl shouldn't be used as is. Append parameters to base URLs before use String albumCoverImage = createdAlbum.getCoverPhotoBaseUrl() + "=w2048-h1024"; boolean isWriteable = createdAlbum.getIsWriteable(); } catch (ApiException e) { // Handle error }
PHP
try { $newAlbum = PhotosLibraryResourceFactory::album("My Album"); $createdAlbum = $photosLibraryClient->createAlbum($newAlbum); // The createdAlbum object contains properties of an album $albumId = $createdAlbum->getId(); $productUrl = $createdAlbum->getProductUrl(); // coverPhotoBaseUrl shouldn't be used as is. Append parameters to base URLs before use $albumCoverImage = $createdAlbum->getCoverPhotoBaseUrl() . '=w2048-h1024'; $isWriteable = $createdAlbum->getIsWriteable(); } catch (\Google\ApiCore\ApiException $e) { // Handle error }
การเปลี่ยนชื่ออัลบั้มและรูปภาพปก
หากต้องการเปลี่ยนชื่ออัลบั้มหรือรูปภาพปก ให้สร้าง album update
call
ด้วย
ของอัลบั้ม และใส่ชื่อเรื่องใหม่หรือรูปภาพปกใหม่
รหัสรายการสื่อในคำขอ คุณจะต้องใช้
photoslibrary.edit.appcreateddata
ขอบเขตการให้สิทธิ์ที่จะทำการเปลี่ยนแปลง
ชื่ออัลบั้มต้องมีความยาวไม่เกิน 500 อักขระ รายการสื่อหน้าปก ต้องเป็นของเจ้าของอัลบั้ม และต้องเป็นของอัลบั้มที่บุคคลนั้นจะเป็นหน้าปก สำหรับ
REST
นี่เป็นส่วนหัวของคำขอ Patch เพื่ออัปเดต title
ของอัลบั้มและ
coverPhotomediaItemId
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
คำขอนี้จะระบุที่พักที่ได้รับการอัปเดตโดยรวม
ฟิลด์มาสก์ ซึ่งระบุโดยพารามิเตอร์ updateMask
ใน
URL ต้องส่งพารามิเตอร์ updateMask
สําหรับแต่ละรายการ
พร็อพเพอร์ตี้ของอัลบั้มที่กําลังอัปเดต
สําหรับแต่ละพร็อพเพอร์ตี้ที่คุณกำลังอัปเดต ให้ใส่รายละเอียดไว้ใน เนื้อหาของคำขอ:
{ "title": "new-album-title", "coverPhotoMediaItemId": "new-cover-media-item-id" }
หากสำเร็จ การตอบกลับจะแสดง album
ที่อัปเดตแล้ว
รายละเอียด:
{ "id": "album-id", "title": "new-album-title", "productUrl": "album-product-url", "isWriteable": "true-if-user-can-write-to-this-album", "mediaItemsCount": "number-of-media-items-in-album", "coverPhotoBaseUrl": "cover-photo-base-url_use-only-with-parameters", "coverPhotoMediaItemId": "new-cover-media-item-id" }
Java
try { // Update the cover photo of the album given a MediaItem object. Album updatedAlbum = photosLibraryClient.updateAlbumCoverPhoto(album, newCoverMediaItem); // Alternatively, you can update the cover photo of the album given a media item ID. // The specified media item identifier must be not null or empty. // Album updatedAlbum = photosLibraryClient.updateAlbumCoverPhoto(album, "new-cover-media-item-id"); } catch (ApiException e) { // Handle error } try { // Update the title of the album. // The new title must not be null or empty. Album updatedAlbum = photosLibraryClient.updateAlbumTitle(album, "new-album-title"); } catch (ApiException e) { // Handle error }
PHP
try { // ID of the album to update. $albumId = "ALBUM_ID"; // Media item ID of the new cover photo. // Must not be null or empty. $newCoverMediaItemId = "new-cover-media-item-id"; // Update the cover photo of the album. $mediaItem = $photosLibraryClient->updateAlbumCoverPhoto($albumId, $newCoverMediaItemId); } catch (\Google\ApiCore\ApiException $e) { // Handle error } try { // ID of the album to update. $albumId = "ALBUM_ID"; // New title of the album. // Must not be null or empty. $newTitle = "new-album-title"; // Update the title of the album. $mediaItem = $photosLibraryClient->updateAlbumTitle($albumId, $newTitle); } catch (\Google\ApiCore\ApiException $e) { // Handle error }
การเพิ่มรายการสื่อลงในอัลบั้ม
คุณสามารถเพิ่มรายการสื่อจากคลังภาพ Google Photos ของผู้ใช้ในอัลบั้มได้โดย
การโทร
albums.batchAddMediaItems
ระบบจะเพิ่มรายการสื่อไปที่ตอนท้ายของอัลบั้มตามลำดับที่ระบุในการโทรนี้
คำขอทั้งหมดจะดำเนินการไม่สำเร็จหากมีการระบุรายการสื่อหรืออัลบั้มที่ไม่ถูกต้อง ระบบไม่รองรับความสำเร็จบางส่วน
แต่ละอัลบั้มมีรายการสื่อได้สูงสุด 20,000 รายการ คำขอเพิ่มรายการที่ จะทำให้เกินขีดจำกัดนี้
โปรดทราบว่าคุณสามารถเพิ่มได้เฉพาะรายการสื่อที่ อัปโหลดโดยแอปพลิเคชันของคุณเพื่อ อัลบั้มที่แอปพลิเคชันของคุณมี สร้าง รายการสื่อ ต้องอยู่ในไลบรารีของผู้ใช้ด้วย สำหรับอัลบั้มที่แชร์ รูปภาพดังกล่าวต้องมีคุณสมบัติอย่างใดอย่างหนึ่งต่อไปนี้ เป็นเจ้าของของ ผู้ใช้ หรือผู้ใช้ต้องเป็นผู้ทำงานร่วมกันที่เข้าร่วมอัลบั้มแล้ว
หากต้องการเพิ่มรายการสื่อลงในอัลบั้ม ให้โทร
albums.batchAddMediaItems
ด้วยตัวระบุรายการสื่อและอัลบั้ม
REST
ต่อไปนี้เป็นส่วนหัวสำหรับคำขอ POST:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems Content-type: application/json Authorization: Bearer oauth2-token
เนื้อหาของคำขอมีลักษณะดังนี้
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
หากสำเร็จ การตอบสนองจะแสดงการตอบสนอง JSON ที่ว่างเปล่าและ HTTP สถานะสำเร็จ
Java
try { // List of media item IDs to add List<String> mediaItemIds = Arrays .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"); // ID of the album to add media items to String albumId = "ALBUM_ID"; // Add all given media items to the album photosLibraryClient.batchAddMediaItemsToAlbum(albumId, mediaItemIds); } catch (ApiException e) { // An exception is thrown if the media items could not be added }
PHP
try { // List of media item IDs to add $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"]; // ID of the album to add media items to $albumId = "ALBUM_ID"; // Add all given media items to the album $response = $photosLibraryClient->batchAddMediaItemsToAlbum($albumId, $mediaItemIds); } catch (\Google\ApiCore\ApiException $e) { // Handle Error }
การนำรายการสื่อออกจากอัลบั้ม
คุณสามารถนำรายการสื่อที่เพิ่มไว้จากอัลบั้มออกได้โดยเรียก
albums.batchRemoveMediaItems
คำขอทั้งหมดจะล้มเหลวหากมีการระบุรายการสื่อที่ไม่ถูกต้อง บางส่วน ความสำเร็จไม่ได้
โปรดทราบว่าคุณสามารถนำออกได้เฉพาะรายการสื่อที่แอปพลิเคชันของคุณใช้เท่านั้น ได้เพิ่มลงในอัลบั้ม หรือที่ได้คือ สร้างในอัลบั้มโดยเป็นส่วนหนึ่งของ อัปโหลด สำหรับอัลบั้ม ที่ใช้ร่วมกัน คุณจะสามารถนำรายการที่ผู้ทำงานร่วมกันคนอื่นๆ เพิ่มออกได้ก็ต่อเมื่อ ดำเนินการในนามของ เจ้าของ ของอัลบั้มนั้น
หากต้องการนำรายการสื่อออกจากอัลบั้ม ให้โทร
albums.batchRemoveMediaItems
ด้วยตัวระบุรายการสื่อและอัลบั้ม
REST
ต่อไปนี้เป็นส่วนหัวสำหรับคำขอ POST:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems Content-type: application/json Authorization: Bearer oauth2-token
เนื้อหาของคำขอมีลักษณะดังนี้
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
หากสำเร็จ การตอบสนองจะแสดงการตอบสนอง JSON ที่ว่างเปล่าและ HTTP สถานะสำเร็จ
Java
try { // List of media item IDs to remove List<String> mediaItemIds = Arrays .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"); // ID of the album to remove media items from String albumId = "ALBUM_ID"; // Remove all given media items from the album photosLibraryClient.batchRemoveMediaItemsFromAlbum(albumId, mediaItemIds); } catch (ApiException e) { // An exception is thrown if the media items could not be removed }
PHP
try { // List of media item IDs to remove $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"]; // ID of the album to remove media items from $albumId = "ALBUM_ID"; // Remove all given media items from the album $response = $photosLibraryClient->batchRemoveMediaItemsFromAlbum($albumId, $mediaItemIds); } catch (\Google\ApiCore\ApiException $e) { // Handle Error }