0
0

[Google Photos Library API] JavaでGoogleフォトの共有アルバムに参加・退出する

Posted at

Google Photos Library APIを使用して、
Googleフォトの共有アルバムに参加・退出する方法
についてご紹介します。

共有アルバムへの参加・退出は、共有済みのアルバムで
同じGCP認証、かつPhotos Library APIで作成したアルバムのみになります。

アルバムの作成方法は
⧉[Google Photos Library API] JavaでGoogleフォトのアルバムを作成・更新する
を参照ください。

作成したアルバムの共有方法は
⧉[Google Photos Library API] JavaでGoogleフォトのアルバムを共有・共有解除する
を参照ください。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Photos Library API(V1)] JavaでPhotos Library APIを使う
を参照ください。

No 目次
1 参加する
1 スコープ
2 実行
3 レスポンスの内容
2 退出する
1 スコープ
2 実行
3 レスポンスの内容

1. 参加する

指定した共有アルバムに参加します。

参加できるアルバムは、共有済みのアルバムで同じGCP認証、
かつPhotos Library APIで作成したアルバムのみになります。

アルバムの作成方法は
⧉[Google Photos Library API] JavaでGoogleフォトのアルバムを作成・更新する
を参照ください。

作成したアルバムの共有方法は
⧉[Google Photos Library API] JavaでGoogleフォトのアルバムを共有・共有解除する
を参照ください。

指定する共有アルバムのトークンの取得は、
⧉[Google Photos Library API] JavaでGoogleフォトの共有アルバムを取得する
を参照ください。

1.1. スコープ

このAPIを実行するには、以下のスコープを指定してください。

https://www.googleapis.com/auth/photoslibrary.sharing

⧉[Google Photos Library API(V1)] JavaでPhotos Library APIを使う(2.2. PhotosLibraryClientインスタンスを取得)
でスコープを指定してください。

1.2. 実行

public static void main(String[] args) throws Exception{
	    try(PhotosLibraryClient client = getPhotosLibraryClient()){
	    	JoinSharedAlbumResponse response = client.joinSharedAlbum("共有アルバムのトークン");
      
	    	System.out.println(response.getAlbum());
	    }
}

1.2.1. HTTPリクエスト

POST: https://photoslibrary.googleapis.com/v1/sharedAlbums:join
が実行されます。

1.2.2. クエリパラメータ

クエリパラメータはありません。

1.2.3. リクエストボディ

リクエストボディはありません。

1.3. レスポンスの内容

JoinSharedAlbumResponse

メソッド 戻り値 説明
getAlbum Album ユーザーが参加している共有アルバム

Album

メソッド 戻り値 説明
getId String アルバムID
getTitle String アルバムの名前
getProductUrl String アルバムのGoogleフォトURL
getIsWriteable Boolean アルバム内にメディアアイテムを作成できるか
getShareInfo ShareInfo 共有アルバムに関する情報
getMediaItemsCount Long アルバム内のメディアアイテム数
getCoverPhotoBaseUrl String カバー写真のバイトへのURL
getCoverPhotoMediaItemId String カバー写真に関連付けられているメディアアイテムID

ShareInfo

メソッド 戻り値 説明
getSharedAlbumOptions SharedAlbumOptions メディアアイテムの追加やコメントを許可するか
getShareableUrl String 共有のGoogleフォトアルバムへのリンク
getShareToken String 共有アルバムへの参加、共有アルバムからの退出、または詳細の取得に使用するトークン
getIsJoined Boolean ユーザーがアルバムに参加しているか
getIsOwned Boolean ユーザーがアルバムを所有しているか
getIsJoinable Boolean ユーザーがアルバムに参加できるか

SharedAlbumOptions

メソッド 戻り値 説明
getIsCollaborative Boolean 共有アルバムで共同編集者にメディアアイテムの追加を許可するか
getIsCommentable Boolean 共有アルバムで共同編集者がアルバムにコメントを追加できるようにするか

2. 退出する

参加済みの共有アルバムから退出します。

共有アルバムのオーナーである場合は退出できません。

指定する共有アルバムのトークンの取得は、
⧉[Google Photos Library API] JavaでGoogleフォトの共有アルバムを取得する
を参照ください。

2.1. スコープ

このAPIを実行するには、以下のスコープを指定してください。

https://www.googleapis.com/auth/photoslibrary.sharing

⧉[Google Photos Library API(V1)] JavaでPhotos Library APIを使う(2.2. PhotosLibraryClientインスタンスを取得)
でスコープを指定してください。

2.2. 実行

public static void main(String[] args) throws Exception{
    try(PhotosLibraryClient client = getPhotosLibraryClient()){
        client.leaveSharedAlbum("共有アルバムのトークン");
    }
}

2.2.1. HTTPリクエスト

POST: https://photoslibrary.googleapis.com/v1/sharedAlbums:leave
が実行されます。

2.2.2. クエリパラメータ

クエリパラメータはありません。

2.2.3. リクエストボディ

リクエストボディはありません。

2.3. レスポンスの内容

成功した場合は何も返しません。
失敗した場合は例外を出力します。



おしまい。。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0