मीडिया शेयर करें

आपके ऐप्लिकेशन में बनाए गए एल्बम को उपयोगकर्ताओं के बीच शेयर किया जा सकता है. इनमें अनुमति देने के विकल्प भी शामिल होते हैं वे उपयोगकर्ता, एल्बम पर टिप्पणी कर सकें या अपने मीडिया आइटम में योगदान कर सकें.

Google Photos Library API की मदद से किसी एल्बम को शेयर करने के लिए, आपके ऐप्लिकेशन को ये काम करने होंगे:

  1. उपयोगकर्ता की ओर से एल्बम बनाएं.
  2. उस एल्बम को शेयर किए गए एल्बम पर सेट करें.

पुष्टि करने के लिए ज़रूरी स्कोप

कॉन्टेंट शेयर करने के लिए, आपके ऐप्लिकेशन को photoslibrary.sharing का अनुरोध करना होगा अनुमति का दायरा.

एल्बम शेयर करना

एल्बम शेयर करने से पहले, इन बातों का ध्यान रखें:

  • आपका ऐप्लिकेशन सिर्फ़ अपने बनाए गए एल्बम शेयर कर सकता है. अन्य ऐप्लिकेशन से बनाए गए एल्बम, इसे आपके ऐप्लिकेशन के ज़रिए शेयर नहीं किया जा सकता.
  • जब आपका ऐप्लिकेशन, Library API की मदद से कोई एल्बम शेयर करता है, तो शेयर किया जा सकने वाला यूआरएल जनरेट होती है, जिसे कोई भी एल्बम ऐक्सेस करने के लिए इस्तेमाल कर सकता है.
  • API के माध्यम से शेयर किए गए एल्बम के लिए, एल्बम का स्वामी यह कर सकता है: लिंक शेयर करने की सुविधा बंद करना या Google Photos ऐप्लिकेशन से एल्बम को शेयर करना बंद कर सकता है. ऐसा करने से, नए उपयोगकर्ताओं को उसमें जोड़ने से रोकने में मदद करता है.

एल्बम शेयर करने के लिए:

  1. फ़ॉलो करें UX से जुड़े दिशा-निर्देश और शेयर किया जाने वाला एल्बम बनाने के लिए, उपयोगकर्ता से साफ़ तौर पर सहमति लें.
  2. एल्बम बनाएं, और उसका albumId रिकॉर्ड करें. अगर आपने पहले ही एल्बम बना लिया है, तो आप इसके albumId को इसके अनुसार वापस पाएं उपयोगकर्ता के एल्बम की सूची बनाना.
  3. इसका इस्तेमाल करके albums.share को कॉल करें संबंधित albumId के साथ-साथ शेयर करने के विकल्प जो आपको चाहिए सेट.
  4. रिकॉर्ड करें shareToken मान. शेयर टोकन, शेयर किए गए एल्बम का आइडेंटिफ़ायर है जिनका इस्तेमाल अलग-अलग उपयोगकर्ता खातों में किया जा सकता है.
  5. अब कोई दूसरा उपयोगकर्ता आपके ऐप्लिकेशन की मदद से पुष्टि कर सकता है और शामिल हों, छोड़ें या जानकारी वापस पाएं शेयर किए गए एल्बम की फ़ोटो लेने के लिए, इसके 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 एल्बम का लिंक. लिंक वाला कोई भी व्यक्ति ये काम कर सकता है एल्बम की सामग्री देख सकते हैं, इसलिए ऐसा करते समय सावधानी बरतें.

shareableUrl फ़ील्ड केवल तभी लौटाया जाता है, जब एल्बम जिनमें शामिल हैं लिंक साझाकरण चालू है. अगर कोई उपयोगकर्ता पहले से ही किसी ऐसे एल्बम से जुड़ा है जिसमें लिंक-शेयर नहीं किया गया है, तो वे इन कामों के लिए एल्बम के productUrl का इस्तेमाल कर सकते हैं: तो उसे ऐक्सेस करें.

अगर मालिक लिंक बंद कर देता है, तो shareableUrl अमान्य हो जाता है शेयर नहीं किया जा सकता.

shareToken

टोकन, जिसका इस्तेमाल इन कामों के लिए किया जाता है शामिल हों, निकलना, या वापस पाएं किसी ऐसे उपयोगकर्ता की ओर से शेयर किए गए एल्बम की जानकारी जो मालिक.

अगर मालिक लिंक बंद कर देता है, तो 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"
  }
}
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है