אתם יכולים להשתמש באלבומים כדי לסדר את התמונות והפריטים האחרים ב-Google Photos. אפשר לשייך קובץ מדיה לאלבום אחד או יותר. כדי להתחיל בשיוך פריטי מדיה שמכילים אלבום, עליך ליצור תחילה את האלבום.
היקפי ההרשאות הנדרשים
כדי ליצור אלבום, האפליקציה שלך חייבת לבקש לפחות אחד מהפרטים הבאים היקפי הרשאות:
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 ריקה הסטטוס בוצע בהצלחה.
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
הבקשה כולה תיכשל אם יצוינו פריטי מדיה לא חוקיים. באופן חלקי אין תמיכה בהצלחה.
לתשומת ליבכם: אפשר להסיר רק פריטי מדיה שהאפליקציה שלכם נוסף לאלבום או שנרשמו נוצר באלבום כחלק Upload (העלאה). לאלבומים משותפים, תוכלו להסיר פריטים ששותפי עריכה אחרים הוסיפו רק אם פועלים מטעם owner (בעלים) של האלבום.
כדי להסיר קובצי מדיה מאלבום, צריך להתקשר
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 ריקה הסטטוס בוצע בהצלחה.
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 }