Alben verwalten

In Google Fotos können Sie Fotos und andere Medienelemente in Alben organisieren. Ein Medienelement kann mit einem oder mehreren Alben verknüpft sein. Wenn Sie Medienelemente mit einem Album verknüpfen möchten, müssen Sie zuerst das Album erstellen.

Erforderliche Autorisierungsbereiche

Zum Erstellen von Alben ist der Bereich photoslibrary.appendonly erforderlich.

Um den Titel oder das Titelbild von Alben nach dem Erstellen zu ändern, ist der Umfang photoslibrary.edit.appcreateddata erforderlich.

Weitere Informationen zu Bereichen finden Sie unter Autorisierungsbereiche.

Neues Album erstellen

Rufe albums.create auf und füge das title ein, um ein Album zu erstellen. Hinweis: title ist auf 500 Zeichen beschränkt.

Der Aufruf gibt ein Album zurück. Deine App kann die Album-ID aus diesen Informationen speichern und zum Hochladen von Medienelementen in das jeweilige Album verwenden.

REST

Hier ist ein Header für eine POST-Anfrage:

POST https://photoslibrary.googleapis.com/v1/albums
Content-type: application/json
Authorization: Bearer oauth2-token

Der Anfragetext sieht so aus:

{
  "album": {
    "title": "new-album-title"
  }
}

Bei Erfolg gibt die Antwort ein Album zurück:

{
  "productUrl": "album-product-url",
  "id": "album-id",
  "title": "album-title",
  "isWriteable": "whether-you-can-write-to-this-album"
}

Albumdetails abrufen

Wenn Sie die Details eines vorhandenen Albums abrufen möchten, das von Ihrer App erstellt wurde, rufen Sie albums.get auf und geben Sie die albumId des Albums an, das Sie abrufen möchten.

Der Aufruf gibt ein Album zurück.

REST

Hier ist ein Header für eine GET-Anfrage:

GET https://photoslibrary.googleapis.com/v1/albums/{albumId}
Content-type: application/json
Authorization: Bearer oauth2-token

Der Anfragetext sieht so aus:

{
  "albumId": album-id
}

Bei Erfolg gibt die Antwort ein Album zurück:

{
  "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
}

Albumtitel und -cover ändern

Wenn du einen Albumtitel oder ein Titelbild ändern möchtest, erstelle eine album update call mit der ID des Albums und gib in der Anfrage den neuen Titel oder die Mediakosten des neuen Titelbilds an. Sie müssen den Gültigkeitsbereich photoslibrary.edit.appcreateddata für die Autorisierung verwenden, um die Änderung vorzunehmen.

Albumtitel dürfen maximal 500 Zeichen lang sein. Cover-Medieninhalte müssen dem Inhaber des Albums gehören und zu dem Album gehören, für das sie Cover sind.

REST

Hier ist ein PATCH-Anfrageheader zum Aktualisieren der title und coverPhotomediaItemId eines Albums.

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

Diese Anfrage bestimmt, welche Attribute aktualisiert werden, indem eine Feldmaske eingefügt wird, die durch die updateMask-Parameter in der URL angegeben wird. Der Parameter updateMask muss für jede Albumeigenschaft übergeben werden, die aktualisiert wird.

Geben Sie die Details zu jeder Property, die Sie aktualisieren möchten, im Anfragetext an:

{
  "title": "new-album-title",
  "coverPhotoMediaItemId": "new-cover-media-item-id"
}

Bei Erfolg gibt die Antwort die aktualisierten album-Details zurück:

{
  "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"
}

Einem Album Medien hinzufügen

Du kannst von deiner App erstellte Medieninhalte zu Alben hinzufügen, die von deiner App erstellt wurden. Dazu rufst du albums.batchAddMediaItems auf. Medienelemente werden dem Album in der in diesem Aufruf angegebenen Reihenfolge am Ende hinzugefügt.

Wenn ein ungültiges Medienelement oder Album angegeben wird, schlägt die gesamte Anfrage fehl. Teilweiser Erfolg wird nicht unterstützt.

Jedes Album kann bis zu 20.000 Medienelemente enthalten. Anfragen zum Hinzufügen weiterer Elemente, die dieses Limit überschreiten würden, schlagen fehl.

Wenn Sie einem Album Medienelemente hinzufügen möchten, rufen Sie albums.batchAddMediaItems mit den IDs der Medienelemente und des Albums auf.

REST

Hier ist ein Header für eine POST-Anfrage:

POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems
Content-type: application/json
Authorization: Bearer oauth2-token

Der Anfragetext sieht so aus:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Bei Erfolg wird eine leere JSON-Antwort und der HTTP-Status „Success“ zurückgegeben.

Medien aus einem Album entfernen

Sie können von Ihrer App erstellte Medienelemente aus von Ihrer App erstellten Alben entfernen, indem Sie albums.batchRemoveMediaItems aufrufen.

Wenn ungültige Medienelemente angegeben werden, schlägt die gesamte Anfrage fehl. Teilweiser Erfolg wird nicht unterstützt.

Wenn Sie Medienelemente aus einem Album entfernen möchten, rufen Sie albums.batchRemoveMediaItems mit den IDs der Medienelemente und des Albums auf.

REST

Hier ist ein Header für eine POST-Anfrage:

POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems
Content-type: application/json
Authorization: Bearer oauth2-token

Der Anfragetext sieht so aus:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Bei Erfolg wird eine leere JSON-Antwort und der HTTP-Status „Success“ zurückgegeben.

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
}