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

في "صور 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 الخاص بالألبوم الذي تريد جلبه.

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

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 Success.

إزالة عناصر وسائط من ألبوم

يمكنك إزالة ملفات الوسائط التي أنشأها تطبيقك من الألبومات التي أنشأها التطبيق من خلال النقر على 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 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
}