إدارة الألبومات

في "صور Google"، يمكنك تنظيم الصور وملفات الوسائط الأخرى باستخدام الألبومات. يمكن ربط ملف وسائط بألبوم واحد أو أكثر. لبدء الربط الوسائط مع ألبوم، فيجب إنشاء الألبوم أولاً.

نطاقات التفويض المطلوبة

يتطلب إنشاء الألبومات نطاق 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 الألبوم الذي تريد استرجاعه.

تعرض المكالمة ألبومًا.

راحة

في ما يلي عنوان لطلب 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 حرف. ملفات وسائط الغلاف أن يكون ملكًا لمالك الألبوم، وأن ينتمي إلى الألبوم الذي سيتم إنشاء غلافه من أجله.

راحة

في ما يلي عنوان طلب 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 مع إدخال معرّفات عناصر الوسائط والألبوم.

راحة

في ما يلي عنوان لطلب 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 مع معرّفات الوسائط والألبوم.

راحة

في ما يلي عنوان لطلب 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 Success.

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
}