Uygulamanız tarafından oluşturulan albümler, izin verme seçenekleriyle birlikte kullanıcılar arasında paylaşılabilir bu kullanıcılar albüme yorum yapabilir veya kendi medya öğeleriyle katkıda bulunabilirler.
Google Photos Library API aracılığıyla albüm paylaşmak için uygulamanızın şunları yapması gerekir:
- Bir kullanıcı adına albüm oluşturun.
- Söz konusu albümü "paylaşılan" olarak ayarlayın.
Gerekli kimlik doğrulama kapsamı
İçerik paylaşmak için uygulamanızın photoslibrary.sharing
istemesi gerekir
yetkilendirme kapsamı dahilindedir.
Albüm paylaşma
Bir albümü paylaşmadan önce aşağıdaki noktaları göz önünde bulundurun:
- Uygulamanız yalnızca oluşturduğu albümleri paylaşabilir. Diğer uygulamalar tarafından oluşturulan albümler Google Fotoğraflar da dahil olmak üzere, uygulamanız tarafından paylaşılamaz.
- Uygulamanız Library API aracılığıyla albüm paylaştığında paylaşılabilir URL herkesin albüme erişmek için kullanabileceği bir dosya oluşturulur.
- API aracılığıyla paylaşılan albümlerde albüm sahibi: bağlantı paylaşımını devre dışı bırakma veya Google Fotoğraflar uygulamasında albümü paylaşmayı uygulamanın yeni kullanıcılara katılmasını engeller.
Bir albümü paylaşmak için:
- Şunu izleyin: Kullanıcı deneyimi kuralları ve paylaşılan bir albüm oluşturmak için kullanıcıdan açıkça izin alması gerekir.
- Albümü oluşturun,
ve
albumId
için kayıt yapın. Albümü daha önce oluşturduysanız şunları yapabilirsiniz:albumId
değerini şuna kadar al: kullanıcının albümlerini listeleme. albums.share
numaralı telefonu şunu kullanarak ara: ve alakalıalbumId
istediğiniz paylaşım seçeneklerini ayarlandı.-
shareToken
değeri olabilir. Paylaşım jetonu, paylaşılan bir albümün tanımlayıcısıdır bir değişiklik yapabilirsiniz. - Başka bir kullanıcı artık uygulamanızla kimlik doğrulayabilir. Ardından,
join,
leave veya
ayrıntıları alma
(
shareToken
kullanarak) paylaşılan albümün.
Paylaşım seçenekleri
Bir albüm paylaşmak için
sharedAlbumOptions
parametresinden sonra bir değer girin. Seçenekler açıkça belirtilmezse varsayılan değerler kullanılır.
Özellik | Varsayılan değer | Açıklama |
---|---|---|
isCollaborative |
false |
Diğer Google Fotoğraflar kullanıcılarının paylaşılan albüm. |
isCommentable |
false |
Diğer Google Fotoğraflar kullanıcılarının paylaşılan albüm. |
Örnek istek
Aşağıdaki istekte, seçeneklerle birlikte albums.share
araması yapılarak bir albüm paylaşılıyor. CEVAP
shareInfo
mülkü
isimli yanıt, albümün
paylaşım mülkleri.
REST
Bir albümü paylaşmak için kullanılan POST isteği başlığı aşağıda verilmiştir:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:share Content-type: application/json Authorization: Bearer oauth2-token
İstek gövdesinde, paylaşım seçeneklerini belirtin.
{ "sharedAlbumOptions": { "isCollaborative": "true", "isCommentable": "true" } }
Bu istek, aşağıdaki yanıtı döndürür:
{ "shareInfo": { "sharedAlbumOptions": { "isCollaborative": "true", "isCommentable": "true" }, "shareableUrl": "shareable-url", "shareToken": "share-token", "isJoinable": "true-if-users-can-join-album", "isJoined": "true-if-user-is-joined-to-album", "isOwned": "true-if-user-owns-album" } }
Java
try { SharedAlbumOptions options = // Set the options for the album you want to share SharedAlbumOptions.newBuilder() .setIsCollaborative(true) .setIsCommentable(true) .build(); ShareAlbumResponse response = photosLibraryClient.shareAlbum(albumId, options); // The response contains the shareInfo object, a url, and a token for sharing ShareInfo info = response.getShareInfo(); // Link to the shared album String url = info.getShareableUrl(); String shareToken = info // The share token which other users of your app can use to join the album you shared .getShareToken(); SharedAlbumOptions sharedOptions = info // The options set when sharing this album .getSharedAlbumOptions(); } catch (ApiException e) { // Handle error }
PHP
// Set the options for the album you want to share $options = new SharedAlbumOptions(); $options->setIsCollaborative(true); $options->setIsCommentable(true); try { $response = $photosLibraryClient->shareAlbum($albumId, ['sharedAlbumOptions' => $options]); // The response contains the shareInfo object, a url, and a token for sharing $shareInfo = $response->getShareInfo(); // Link to the shared album $url = $shareInfo->getShareableUrl(); // The share token which other users of your app can use to join the album you shared $shareToken = $shareInfo->getShareToken(); // The options set when sharing this album $sharedOptions = $shareInfo->getSharedAlbumOptions(); } catch (\Google\ApiCore\ApiException $e) { // Handle error }
Paylaşılan albüm özellikleri
Uygulamanız tarafından oluşturulan ve paylaşılan albümler için
album
döndür
ek bir mülk ekleyin,
shareInfo
. Bu
mülk paylaşım sırasında döndürülür.
giriş veya
albümleri alma.
Aşağıdaki tabloda
shareInfo
özellikler:
Özellikler | |
---|---|
sharedAlbumOptions |
Kullanıcının medya ekle öğe ekleme veya paylaşılan bir albüme yorum yapma |
shareableUrl |
Paylaşılan Google Fotoğraflar albümünün bağlantısı. Bağlantıya sahip olan herkes bu nedenle özel olarak ele alınmalıdır.
Sahip, bağlantıyı devre dışı bırakırsa |
shareToken |
Bu jeton, join, ayrıl, veya alın olmayan bir kullanıcı adına paylaşılan albümün ayrıntılarını tıklayın. Sahip, bağlantıyı devre dışı bırakırsa |
isJoinable |
Albüme kullanıcılar katılabiliyorsa True . |
isJoined |
Kullanıcı albüme katıldıysa True . Bu her zaman
geçerlidir. |
isOwned |
Albümün sahibi kullanıcıya aitse True . |
Bir albümün paylaşımını geri alma
Uygulamanızın daha önce paylaştığı bir albümün paylaşımını geri almak için şu numarayı arayın:
albums.unshare
şunu kullanarak:
albümün albumId
.
Albüm artık paylaşılmayacak. Ek olarak şunlar da paylaşılacak: ne olur?
- Sahip olmayan tüm kullanıcılar albüme erişimini kaybeder. Buna, daha önce albümü vardı özel olarak paylaşıldı Google Fotoğraflar uygulaması üzerinden yapabilirsiniz.
- Sahip olmayan kişiler tarafından eklenen tüm içerikler albümden kaldırılacak.
- Bir kullanıcı daha önce albümün içeriğini kitaplığına eklediyse içerik kendi kitaplıklarında saklanır.
- Albümün paylaşım jetonu ve paylaşılabilir URL'si geçersiz kılınacak.
Örnek istek
REST
Bir albümün paylaşımını geri almak için POST isteği üstbilgisini burada bulabilirsiniz:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:unshare Content-type: application/json Authorization: Bearer oauth2-token
İstek metni boş olmalıdır.
İstek başarılıysa HTTP ile boş bir yanıt döndürür başarı durum kodu. İstek başarılı değilse bir HTTP döndürür hata mesajı içeren bir hata durum kodu görüntülenir.
Java
try { // If this call is not successful, an exception is raised photosLibraryClient.unshareAlbum(albumId); } catch (ApiException e) { // Handle error }
PHP
try { // Mark the album as private and no longer shared // If this call is not successful, an exception is raised $photosLibraryClient->unshareAlbum($albumId); } catch (\Google\ApiCore\ApiException $e) { // Handle error }
Paylaşılan albümleri alma ve jetonları paylaşma
Paylaşılan albümün ayrıntıları, ve paylaşım jetonu da dahil olmak üzere tüm bildirimler, uygulamanız bir albüm paylaştığında döndürülür. Şunları yapabilirsiniz: bunları daha sonra aşağıdaki yöntemlerle de alabilirsiniz.
Uygulamanıza bağlı olan kullanıcı uygulamanın sahibiyse veya albüm:
albums.get
için alakalıalbumId
.- Varsa
albums.list
ile albümdeki medya öğeleridir. - Entegre
sharedAlbums.list
Kullanıcının katıldığı veya sahip olduğu tüm paylaşılan albümleri döndürür. Geri almak için yalnızca uygulamanızın oluşturduğu albümler içinexcludeNonAppCreatedData
parametresinden sonra bir değer girin. sharedAlbums.get
ile paylaşma jetonundan yararlanırsınız.
Uygulamanıza bağlı olan kullanıcı albüme katılmamışsa şunları yapabilirsiniz:
şununla paylaşılan bir albümün ayrıntılarını al:
sharedAlbums.get
:
geçerli bir paylaşım jetonudur.
Örnek istek
REST
shareToken
adlı sanatçıya ait albüm alma isteği:
GET https://photoslibrary.googleapis.com/v1/sharedAlbums/share-token
İstek başarılı olursa paylaşılan
album
ayrıntıları.
Java
try { // Get a shared album from its share token Album sharedAlbum = photosLibraryClient.getSharedAlbum(shareToken); String id = sharedAlbum.getId(); String title = sharedAlbum.getTitle(); // ... } catch (ApiException e) { // Handle error }
PHP
try { // Get the album from a share token $album = $photosLibraryClient->getSharedAlbum($shareToken); // Get some properties of an album $productUrl = $album->getProductUrl(); $title = $album->getTitle(); } catch (\Google\ApiCore\ApiException $e) { // Handle error }
Paylaşılan bir albüme katılma
Uygulamanız, paylaşılan bir albüme albüm paylaşımıyla bir kullanıcı adına katılabilir jeton. Bunu yapmak için aşağıdaki koşulların sağlanması gerekir:
- Uygulamanızda oluşturup paylaştı albümünüz.
- Albümün sahibi olmasını istediğiniz kullanıcı, albümün sahibi değil. Yani,
Albümün
isOwned
alanıshareInfo
yanlıştır. - Paylaşım jetonu geçerli.
- Albümün
shareInfo
öğesindekiisJoinable
alanı doğru.
REST
Paylaşılan bir albüme katılmak için kullanılacak POST isteği üstbilgisi:
POST https://photoslibrary.googleapis.com/v1/sharedAlbums:join Content-type: application/json Authorization: Bearer oauth2-token
İstek gövdesinde shareToken
özelliğini belirtin.
{ "shareToken": "share-token" }
POST isteği, paylaşılan album
değerini döndürüyor
uygulamanızın kullanıcı adına katıldığını gösterir.
Java
try { // Join the shared album using the share token obtained when sharing the album // If this call is not successful, an exception is raised JoinSharedAlbumResponse response = photosLibraryClient.joinSharedAlbum(shareToken); Album joinedAlbum = response.getAlbum(); } catch (ApiException e) { // Handle error }
PHP
try { $response = $photosLibraryClient->joinSharedAlbum($shareToken); // Join the shared album using the share token obtained when sharing the album // If this call is not successful, an exception is raised $joinedAlbum = $response->getAlbum(); } catch (\Google\ApiCore\ApiException $e) { // Handle error }
Paylaşılan albümden ayrılma
Uygulamanız, albümün paylaşım özelliğini kullanarak bir kullanıcı adına paylaşılan albümden ayrılabilir jeton. Bunu yapmak için aşağıdaki koşulların sağlanması gerekir:
- Uygulamanız albümü oluşturup paylaştı.
- Kullanıcı şu anda albüme katılmış durumda. Yani,
isJoined
alanı öğesininshareInfo
doğru olduğundan emin olun. - Uygulamanıza bağlanan kullanıcı, albümün sahibi değil. Yani,
Albümün
shareInfo
öğesindekiisOwned
alanı yanlış.
REST
Paylaşılan bir albümden ayrılmak için kullanılacak POST isteği üstbilgisi:
POST https://photoslibrary.googleapis.com/v1/sharedAlbums:leave Content-type: application/json Authorization: Bearer oauth2-token
İstek gövdesinde shareToken
özelliğini belirtin.
{ "shareToken": "share-token" }
İstek başarılıysa HTTP ile boş bir yanıt döndürür başarı durum kodu. İstek başarılı değilse bir HTTP döndürür hata mesajı içeren bir hata durum kodu görüntülenir.
Java
try { // Leave a shared album using its share token // If this call is not successful, an exception is raised photosLibraryClient.leaveSharedAlbum(shareToken); } catch (ApiException e) { // Handle error }
PHP
try { // Leave the shared album using the share token obtained when sharing the album // If this call is not successful, an exception is raised $photosLibraryClient->leaveSharedAlbum($shareToken); } catch (\Google\ApiCore\ApiException $e) { // Handle error }
Paylaşılan medya öğesi özellikleri
Şuna ait medya öğeleri:
uygulamanız tarafından paylaşılan albümler ek bir özellik içerir,
contributorInfo
.
Bu özellik yalnızca
paylaşılan bir albümün içeriği.
contributorInfo
özelliği, medyayı ekleyen kullanıcının adını içerir.
öğe ekler ve bir
profilinin temel URL'sini
görüntüsüdür.
Aşağıda bununla ilgili bir örnek verilmiştir:
{ "id: "media-item-id", ..., "mediaMetadata": { ... } "contributorInfo": { "profilePictureBaseUrl": "profile-picture-base-url_use-only-with-parameters", "displayName": "name-of-user" } }