ב-Google Photos אפשר לארגן תמונות ופריטי מדיה אחרים באמצעות אלבומים. אפשר לשייך קובץ מדיה לאלבום אחד או יותר. כדי להתחיל בשיוך פריטי מדיה שמכילים אלבום, עליך ליצור תחילה את האלבום.
היקפי ההרשאות הנדרשים
כדי ליצור אלבומים, נדרש היקף ההרשאות photoslibrary.appendonly
.
שינוי השם או תמונת השער של האלבומים לאחר יצירתם מחייב
היקף הרשאות אחד (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" }
אחזור פרטי האלבום
כדי לאחזר את הפרטים של אלבום קיים שנוצר באמצעות האפליקציה, צריך להתקשר
albums.get
וכולל את
albumId
מהאלבום שרוצים לאחזר.
השיחה תחזיר אלבום.
REST
הנה כותרת לבקשת GET:
GET https://photoslibrary.googleapis.com/v1/albums/{albumId} Content-type: application/json Authorization: Bearer oauth2-token
גוף הבקשה נראה כך:
{ "albumId": album-id }
אם הפעולה בוצעה ללא שגיאות, התשובה תחזיר אלבום:
{ "id": album-id, "title": album-title, "productUrl": album-product-url, "mediaItemsCount": media-items-count, "coverPhotoBaseUrl": cover-photo-base-url, "coverPhotoMediaItemId": cover-photo-media-item-id }
שינוי השמות ותמונות השער של האלבום
כדי לשנות את השם או את תמונת השער של האלבום, צריך ליצור 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" }
הוספת קובצי מדיה לאלבום
אפשר להוסיף פריטי מדיה שהאפליקציה יצרה לאלבומים שהאפליקציה יצרה
שיחות
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 של הצלחה.
הסרת קובצי מדיה מאלבום
אפשר להסיר פריטים של מדיה שנוצרו על ידי האפליקציה לאלבומים שנוצרו על ידי האפליקציה באמצעות קריאה ל-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 }