आपके ऐप्लिकेशन में बनाए गए एल्बम को उपयोगकर्ताओं के बीच शेयर किया जा सकता है. इनमें अनुमति देने के विकल्प भी शामिल होते हैं वे उपयोगकर्ता, एल्बम पर टिप्पणी कर सकें या अपने मीडिया आइटम में योगदान कर सकें.
Google Photos Library API की मदद से किसी एल्बम को शेयर करने के लिए, आपके ऐप्लिकेशन को ये काम करने होंगे:
- उपयोगकर्ता की ओर से एल्बम बनाएं.
- उस एल्बम को शेयर किए गए एल्बम पर सेट करें.
पुष्टि करने के लिए ज़रूरी स्कोप
कॉन्टेंट शेयर करने के लिए, आपके ऐप्लिकेशन को photoslibrary.sharing
का अनुरोध करना होगा
अनुमति का दायरा.
एल्बम शेयर करना
एल्बम शेयर करने से पहले, इन बातों का ध्यान रखें:
- आपका ऐप्लिकेशन सिर्फ़ अपने बनाए गए एल्बम शेयर कर सकता है. अन्य ऐप्लिकेशन से बनाए गए एल्बम, इसे आपके ऐप्लिकेशन के ज़रिए शेयर नहीं किया जा सकता.
- जब आपका ऐप्लिकेशन, Library API की मदद से कोई एल्बम शेयर करता है, तो शेयर किया जा सकने वाला यूआरएल जनरेट होती है, जिसे कोई भी एल्बम ऐक्सेस करने के लिए इस्तेमाल कर सकता है.
- API के माध्यम से शेयर किए गए एल्बम के लिए, एल्बम का स्वामी यह कर सकता है: लिंक शेयर करने की सुविधा बंद करना या Google Photos ऐप्लिकेशन से एल्बम को शेयर करना बंद कर सकता है. ऐसा करने से, नए उपयोगकर्ताओं को उसमें जोड़ने से रोकने में मदद करता है.
एल्बम शेयर करने के लिए:
- फ़ॉलो करें UX से जुड़े दिशा-निर्देश और शेयर किया जाने वाला एल्बम बनाने के लिए, उपयोगकर्ता से साफ़ तौर पर सहमति लें.
- एल्बम बनाएं,
और उसका
albumId
रिकॉर्ड करें. अगर आपने पहले ही एल्बम बना लिया है, तो आप इसकेalbumId
को इसके अनुसार वापस पाएं उपयोगकर्ता के एल्बम की सूची बनाना. - इसका इस्तेमाल करके
albums.share
को कॉल करें संबंधितalbumId
के साथ-साथ शेयर करने के विकल्प जो आपको चाहिए सेट. - रिकॉर्ड करें
shareToken
मान. शेयर टोकन, शेयर किए गए एल्बम का आइडेंटिफ़ायर है जिनका इस्तेमाल अलग-अलग उपयोगकर्ता खातों में किया जा सकता है. - अब कोई दूसरा उपयोगकर्ता आपके ऐप्लिकेशन की मदद से पुष्टि कर सकता है और
शामिल हों,
छोड़ें या
जानकारी वापस पाएं
शेयर किए गए एल्बम की फ़ोटो लेने के लिए, इसके
shareToken
का इस्तेमाल किया गया है.
शेयर करने के विकल्प
किसी एल्बम को शेयर करते समय, इन विकल्पों को सेट किया जा सकता है:
sharedAlbumOptions
पैरामीटर. अगर विकल्प साफ़ तौर पर सेट न किए गए हों, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है.
प्रॉपर्टी | डिफ़ॉल्ट वैल्यू | ब्यौरा |
---|---|---|
isCollaborative |
false |
यह सेट करता है कि Google Photos के दूसरे उपयोगकर्ता, शेयर किया गया एल्बम. |
isCommentable |
false |
यह सेट करता है कि अन्य Google Photos उपयोगकर्ता शेयर किया गया एल्बम. |
अनुरोध का उदाहरण
निम्न अनुरोध विकल्पों के साथ albums.share
को कॉल करके एक एल्बम शेयर करता है. ऐप्लिकेशन
shareInfo
प्रॉपर्टी
के रूप में रिस्पॉन्स के तौर पर दिया जाता है.
शेयर करने की प्रॉपर्टी.
आराम
यहां किसी एल्बम को शेयर करने के लिए पोस्ट अनुरोध का हेडर दिया गया है:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:share Content-type: application/json Authorization: Bearer oauth2-token
अनुरोध के मुख्य हिस्से में, शेयर करने के विकल्प बताएं.
{ "sharedAlbumOptions": { "isCollaborative": "true", "isCommentable": "true" } }
अनुरोध करने पर यह रिस्पॉन्स मिलता है:
{ "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 }
शेयर किए गए एल्बम की प्रॉपर्टी
आपके ऐप्लिकेशन के ज़रिए बनाए और शेयर किए गए एल्बम के लिए,
album
वापस करो
प्रॉपर्टी जोड़ने के लिए,
shareInfo
. यह
प्रॉपर्टी शेयर करने पर वापस लौटा दी जाती है,
लिस्टिंग या
एल्बम वापस पाने.
नीचे दी गई टेबल में
shareInfo
प्रॉपर्टी:
प्रॉपर्टी | |
---|---|
sharedAlbumOptions |
ऐसे विकल्प जिनसे यह पता चलता है कि कोई व्यक्ति मीडिया जोड़ें आइटम में शामिल हैं या उस पर टिप्पणी करते हैं. |
shareableUrl |
शेयर किए गए Google Photos एल्बम का लिंक. लिंक वाला कोई भी व्यक्ति ये काम कर सकता है एल्बम की सामग्री देख सकते हैं, इसलिए ऐसा करते समय सावधानी बरतें.
अगर मालिक लिंक बंद कर देता है, तो |
shareToken |
टोकन, जिसका इस्तेमाल इन कामों के लिए किया जाता है शामिल हों, निकलना, या वापस पाएं किसी ऐसे उपयोगकर्ता की ओर से शेयर किए गए एल्बम की जानकारी जो मालिक. अगर मालिक लिंक बंद कर देता है, तो |
isJoinable |
अगर उपयोगकर्ता एल्बम में शामिल हो सकते हैं, तो True . |
isJoined |
True , अगर उपयोगकर्ता एल्बम में शामिल हुआ हो. यह हमेशा
एल्बम के स्वामी के लिए सही है. |
isOwned |
अगर उपयोगकर्ता के पास एल्बम का मालिकाना हक है, तो True . |
एल्बम का साझाकरण हटाना
अपने ऐप्लिकेशन में पहले शेयर किए गए एल्बम को शेयर करना बंद करने के लिए, कॉल करें
albums.unshare
का इस्तेमाल करके
का albumId
.
अब शेयर किए गए एल्बम के अलावा, ये चीज़ें भी शेयर की जाएंगी होने की तारीख:
- जिन लोगों के पास एल्बम का मालिकाना हक नहीं है वे एल्बम को ऐक्सेस नहीं कर पाएंगे. इसमें वे लोग शामिल हैं जिनके पास एल्बम था खास तौर पर शेयर किया गया उनके साथ पोस्ट किया जा सकता है.
- गैर-मालिकों के ज़रिए जोड़ी गई सभी सामग्री एल्बम से हटा दी जाएगी.
- अगर किसी उपयोगकर्ता ने पहले एल्बम के कॉन्टेंट को अपनी लाइब्रेरी में जोड़ा है, तो कॉन्टेंट उनकी लाइब्रेरी में बना रहेगा.
- एल्बम का शेयर टोकन और शेयर किया जा सकने वाला यूआरएल अमान्य हो जाएगा.
अनुरोध का उदाहरण
आराम
किसी एल्बम को शेयर करना बंद करने के लिए, यहां पोस्ट अनुरोध का हेडर दिया गया है:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:unshare Content-type: application/json Authorization: Bearer oauth2-token
अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
अगर अनुरोध सफल होता है, तो यह एचटीटीपी के साथ कोई जवाब नहीं देता है सक्सेस स्टेटस कोड डालें. अगर अनुरोध पूरा नहीं होता है, तो यह एक एचटीटीपी दिखाता है गड़बड़ी के मैसेज के साथ गड़बड़ी की स्थिति का कोड.
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 }
शेयर किए गए एल्बम वापस पाना और टोकन शेयर करना
किसी शेयर किए गए एल्बम की जानकारी, साथ ही, इसके शेयर टोकन भी वापस आते हैं. ऐसा तब होता है, जब आपका ऐप्लिकेशन किसी एल्बम को शेयर करता है. आप साथ ही, नीचे बताए गए तरीकों से उन जानकारी को वापस भी पा सकते हैं.
अगर आपके ऐप्लिकेशन से फ़िलहाल कनेक्ट किया गया उपयोगकर्ता, मालिक है या वह एल्बम:
albums.get
के साथalbumId
काम का है.albums.list
के साथ, अगर हो एल्बम के मीडिया आइटम हैं.- के साथ
sharedAlbums.list
इससे, शेयर किए गए वे सभी एल्बम लौटाए जाते हैं जिनमें उपयोगकर्ता जुड़ा है या जिनका मालिकाना हक उपयोगकर्ता के पास है. वापस पाने के लिए का उपयोग करें, तोexcludeNonAppCreatedData
पैरामीटर. sharedAlbums.get
के साथ शेयर टोकन का इस्तेमाल करके.
अगर आपके ऐप्लिकेशन से कनेक्ट किया गया उपयोगकर्ता एल्बम में शामिल नहीं हुआ है, तो आपके पास
इससे शेयर किए गए एल्बम की जानकारी फिर से पाएं
sharedAlbums.get
ने
मान्य शेयर टोकन.
अनुरोध का उदाहरण
आराम
shareToken
के हिसाब से एल्बम पाने का अनुरोध यहां दिया गया है:
GET https://photoslibrary.googleapis.com/v1/sharedAlbums/share-token
अनुरोध पूरा होने पर, शेयर की गई
album
जानकारी.
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 }
किसी शेयर एल्बम में शामिल होना
आपका ऐप्लिकेशन, एल्बम के शेयर करने वाले किसी उपयोगकर्ता की ओर से, शेयर किए गए एल्बम में शामिल हो सकता है टोकन. ऐसा करने के लिए, इन शर्तों का पूरा होना ज़रूरी है:
- आपके ऐप्लिकेशन में ये सुविधाएं हैं बनाया और शेयर किया एल्बम.
- आपको जिस उपयोगकर्ता को एल्बम में शामिल करना है वह उसका मालिक नहीं है. इसका मतलब है कि
एल्बम के
isOwned
फ़ील्ड मेंshareInfo
गलत है. - शेयर टोकन मान्य है.
- एल्बम के
shareInfo
मेंisJoinable
फ़ील्ड सही है.
आराम
किसी शेयर किए गए एल्बम से जुड़ने के लिए, यहां पोस्ट अनुरोध का हेडर दिया गया है:
POST https://photoslibrary.googleapis.com/v1/sharedAlbums:join Content-type: application/json Authorization: Bearer oauth2-token
अनुरोध के मुख्य हिस्से में, shareToken
बताएं.
{ "shareToken": "share-token" }
पोस्ट करने का अनुरोध, शेयर किया गया album
दिखाता है
उपयोगकर्ता की ओर से आपका ऐप्लिकेशन शामिल हुआ हो.
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 }
शेयर किए गए एल्बम को छोड़ना
एल्बम के शेयर का इस्तेमाल करके, आपका ऐप्लिकेशन किसी उपयोगकर्ता की ओर से शेयर किए गए एल्बम को छोड़ सकता है टोकन. ऐसा करने के लिए, इन शर्तों का पूरा होना ज़रूरी है:
- आपके ऐप्लिकेशन ने एल्बम बनाया और शेयर किया है.
- उपयोगकर्ता फ़िलहाल एल्बम से जुड़ा है. इसका मतलब है कि
isJoined
फ़ील्ड केshareInfo
के साथ मेल खाती है. - आपके ऐप्लिकेशन से कनेक्ट किया गया उपयोगकर्ता, एल्बम का मालिक नहीं होता है. इसका मतलब है कि
एल्बम के
shareInfo
मेंisOwned
फ़ील्ड असत्य है.
आराम
शेयर किए गए एल्बम को छोड़ने के लिए, यहां पोस्ट अनुरोध का हेडर दिया गया है:
POST https://photoslibrary.googleapis.com/v1/sharedAlbums:leave Content-type: application/json Authorization: Bearer oauth2-token
अनुरोध के मुख्य हिस्से में, shareToken
बताएं.
{ "shareToken": "share-token" }
अगर अनुरोध सफल होता है, तो यह एचटीटीपी के साथ कोई जवाब नहीं देता है सक्सेस स्टेटस कोड डालें. अगर अनुरोध पूरा नहीं होता है, तो यह एक एचटीटीपी दिखाता है गड़बड़ी के मैसेज के साथ गड़बड़ी की स्थिति का कोड.
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 }
शेयर किए गए मीडिया आइटम की प्रॉपर्टी
ये मीडिया आइटम
आपके ऐप्लिकेशन से शेयर किए गए एल्बम में एक अतिरिक्त प्रॉपर्टी होती है,
contributorInfo
.
यह प्रॉपर्टी सिर्फ़ तब शामिल की जाती है, जब
शेयर किए गए एल्बम का कॉन्टेंट.
contributorInfo
प्रॉपर्टी में, मीडिया को जोड़ने वाले उपयोगकर्ता का नाम शामिल होता है
एल्बम में आइटम जोड़ दिया जाता है और
उनकी प्रोफ़ाइल का आधार यूआरएल
इमेज.
यहां एक उदाहरण दिया गया है:
{ "id: "media-item-id", ..., "mediaMetadata": { ... } "contributorInfo": { "profilePictureBaseUrl": "profile-picture-base-url_use-only-with-parameters", "displayName": "name-of-user" } }अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है