Google フォトでは、アルバムを使用して写真やその他のメディア アイテムを整理できます。 メディア アイテムは 1 つ以上のアルバムに関連付けることができます。関連付けを始めるには メディアアイテムをアルバムに追加する場合は、まずアルバムを作成する必要があります。
必要な認可スコープ
アルバムを作成するには、アプリで次のうち少なくとも 1 つをリクエストする必要があります 認可スコープ:
photoslibrary.appendonly
photoslibrary.sharing
アルバムの作成後にタイトルやカバー写真を変更するには、
photoslibrary.edit.appcreateddata
スコープ。
新しいアルバムを作成する
アルバムを作成するには、
albums.create
と以下を含む
title
。title
は 500 文字に制限されています。
この呼び出しでは アルバム。アプリは この情報からアルバム ID を保存し、 メディア アイテムのアップロード クリックします。
REST
POST リクエストのヘッダーは次のようになります。
POST https://photoslibrary.googleapis.com/v1/albums Content-type: application/json Authorization: Bearer oauth2-token
リクエスト本文は次のようになります。
{ "album": { "title": "new-album-title" } }
成功した場合、レスポンスは Album:
{ "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
を
新しいタイトルまたは新しいカバー写真の
リクエスト内のメディア アイテム ID です。使用するには
photoslibrary.edit.appcreateddata
authorization スコープで変更が行われます。
アルバム タイトルは 500 文字以内で指定してください。メディア アイテムをカバーする アルバムのオーナーがオーナーで、カバーとなるアルバムに属している できます。
REST
アルバムの title
を更新するための PATCH リクエスト ヘッダーは次のとおりです。
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" }
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 フォト ライブラリにあるメディア アイテムをアルバムに追加するには、
通話中
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 成功ステータス。
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
メディア アイテムとアルバムの識別子を返します。
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 }