एल्बम मैनेज करना

Google Photos में, एल्बम का इस्तेमाल करके फ़ोटो और दूसरे मीडिया आइटम व्यवस्थित किए जा सकते हैं. मीडिया आइटम को एक या उससे ज़्यादा एल्बम के साथ जोड़ा जा सकता है. मीडिया आइटम को किसी एल्बम से जोड़ने के लिए, आपको पहले एक एल्बम बनाना होगा.

अनुमति देने के ज़रूरी दायरे

एल्बम बनाने के लिए, आपके ऐप्लिकेशन को इनमें से कम से कम एक अनुमति के दायरे का अनुरोध करना होगा:

  • photoslibrary.appendonly
  • photoslibrary.sharing

एल्बम बन जाने के बाद, उनका टाइटल या कवर फ़ोटो बदलने के लिए, photoslibrary.edit.appcreateddata दायरे का इस्तेमाल करें.

नया एल्बम बनाया जा रहा है

एल्बम बनाने के लिए, albums.create को कॉल करें और title को शामिल करें. ध्यान दें कि title में ज़्यादा से ज़्यादा 500 वर्ण हो सकते हैं.

कॉल करने पर एल्बम दिखता है. आपका ऐप्लिकेशन इस जानकारी से एल्बम आईडी सेव कर सकता है. इसका इस्तेमाल किसी खास एल्बम में मीडिया आइटम अपलोड करने के लिए किया जा सकता है.

आराम

यहां पोस्ट अनुरोध का हेडर दिया गया है:

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 से ज़्यादा वर्ण नहीं हो सकते. कवर मीडिया आइटम एल्बम के मालिक के पास होने चाहिए और उस एल्बम से जुड़े होने चाहिए जिनका कवर होगा.

आराम

किसी एल्बम के title और coverPhotomediaItemId को अपडेट करने के लिए, पैच अनुरोध का हेडर यहां दिया गया है.

PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId

इस अनुरोध से यह तय होता है कि कौनसी प्रॉपर्टी अपडेट हो रही हैं. इसके लिए, फ़ील्ड मास्क को शामिल करें. यह मास्क, यूआरएल में updateMask पैरामीटर से दिखाया जाता है. अपडेट की जा रही हर एल्बम प्रॉपर्टी के लिए, 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 को कॉल करें.

आराम

यहां पोस्ट अनुरोध का हेडर दिया गया है:

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 पर कॉल करके, किसी एल्बम से जोड़े गए मीडिया आइटम हटाए जा सकते हैं.

अगर मीडिया आइटम अमान्य हैं, तो पूरा अनुरोध पूरा नहीं किया जा सकेगा. आंशिक सफलता समर्थित नहीं है.

ध्यान दें कि सिर्फ़ उन मीडिया आइटम को हटाया जा सकता है जिन्हें आपके ऐप्लिकेशन ने किसी एल्बम में जोड़ा है या जिन्हें अपलोड के हिस्से के तौर पर किसी एल्बम में बनाया गया है. शेयर किए गए एल्बम के लिए, दूसरे सहयोगियों के जोड़े गए आइटम सिर्फ़ तब हटाए जा सकते हैं, जब आप एल्बम के मालिक की ओर से काम कर रहे हों.

किसी एल्बम से मीडिया आइटम हटाने के लिए, मीडिया आइटम और एल्बम के आइडेंटिफ़ायर के साथ albums.batchRemoveMediaItems को कॉल करें.

आराम

यहां पोस्ट अनुरोध का हेडर दिया गया है:

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
}