ניהול אלבומים

ב-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
}