0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Google Photos Library API] JavaでGoogleフォトのアルバムを共有・共有解除する

Posted at

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

共有や共有解除できるアルバムはPhotos Library APIで作成したアルバムのみになります。
アルバムの作成方法は
⧉[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. 共有する

指定したアルバムを共有します。

共有できるアルバムはPhotos Library APIで作成したアルバムのみになります。
アルバムの作成方法は
⧉[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()){
        SharedAlbumOptions.Builder builder = SharedAlbumOptions.newBuilder();
    
        ShareAlbumResponse response = client.shareAlbum("アルバムID",builder.build());
        System.out.println(response);
    }
}

1.2.1. HTTPリクエスト

POST: https://photoslibrary.googleapis.com/v1/albums/{albumId}:share
が実行されます。

1.2.2. クエリパラメータ

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

1.2.3. リクエストボディ

SharedAlbumOptions.Builderのsetメソッドにより、リクエストボディを追加できます。
build()メソッドでSharedAlbumOptionsインスタンスを取得し、
shareAlbum()に渡します。

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

1.3. レスポンスの内容

ShareAlbumResponse

メソッド 戻り値 説明
getShareInfo ShareInfo 共有アルバムに関する情報

ShareInfo

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

SharedAlbumOptions

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

2. 共有を解除する

指定したアルバムの共有を解除します。

共有解除できるアルバムはGoogle Photos Library APIで作成したアルバムのみになります。
アルバムの作成方法は
⧉[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.unshareAlbum("アルバムID");
    }
}

2.2.1. HTTPリクエスト

POST: https://photoslibrary.googleapis.com/v1/albums/{アルバムID}:unshare
が実行されます。

2.2.2. クエリパラメータ

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

2.2.3. リクエストボディ

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

2.3. レスポンスの内容

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



おしまい。。
0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?