মিডিয়া শেয়ার করুন

আপনার অ্যাপ দ্বারা তৈরি অ্যালবামগুলি ব্যবহারকারীদের মধ্যে ভাগ করা যেতে পারে, বিকল্পগুলির সাথে সেই ব্যবহারকারীদের মন্তব্য করার অনুমতি দেওয়ার জন্য বা অ্যালবামে তাদের নিজস্ব মিডিয়া আইটেমগুলি অবদান রাখতে পারে৷

Google Photos Library API-এর মাধ্যমে একটি অ্যালবাম শেয়ার করতে, আপনার অ্যাপকে নিম্নলিখিতগুলি করতে হবে:

  1. একজন ব্যবহারকারীর পক্ষে একটি অ্যালবাম তৈরি করুন
  2. শেয়ার করা অ্যালবাম সেট করুন .

প্রয়োজনীয় প্রমাণীকরণ সুযোগ

বিষয়বস্তু শেয়ার করার জন্য, আপনার অ্যাপটিকে অবশ্যই photoslibrary.sharing অনুমোদনের সুযোগের অনুরোধ করতে হবে।

একটি অ্যালবাম শেয়ার করছি

একটি অ্যালবাম শেয়ার করার আগে, নিম্নলিখিত বিবেচনায় নিন:

  • আপনার অ্যাপ শুধুমাত্র এটি তৈরি করা অ্যালবাম শেয়ার করতে পারে। Google ফটো সহ অন্যান্য অ্যাপ দ্বারা তৈরি করা অ্যালবামগুলি আপনার অ্যাপ দ্বারা শেয়ার করা যাবে না।
  • যখন আপনার অ্যাপ লাইব্রেরি API-এর মাধ্যমে একটি অ্যালবাম শেয়ার করে, তখন একটি শেয়ারযোগ্য URL তৈরি হয় যা যে কেউ অ্যালবাম অ্যাক্সেস করতে ব্যবহার করতে পারে।
  • API-এর মাধ্যমে শেয়ার করা অ্যালবামের জন্য, অ্যালবামের মালিক Google Photos অ্যাপে লিঙ্ক শেয়ারিং বন্ধ বা অ্যালবামটিকে আনশেয়ার করতে পারেন, সম্ভাব্যভাবে আপনার অ্যাপটিকে এতে নতুন ব্যবহারকারীদের যোগদান থেকে বাধা দেয়।

একটি অ্যালবাম শেয়ার করতে:

  1. UX নির্দেশিকা অনুসরণ করুন এবং একটি শেয়ার করা অ্যালবাম তৈরি করতে ব্যবহারকারীর কাছ থেকে স্পষ্ট সম্মতি নিন।
  2. অ্যালবামটি তৈরি করুন এবং এর albumId রেকর্ড করুন। আপনি যদি ইতিমধ্যেই অ্যালবামটি তৈরি করে থাকেন, তাহলে ব্যবহারকারীর অ্যালবামগুলি তালিকাভুক্ত করে আপনি এটির albumId পুনরুদ্ধার করতে পারেন৷
  3. প্রাসঙ্গিক albumId ব্যবহার করে albums.share কল করুন, আপনি যে শেয়ার বিকল্পগুলি সেট করতে চান তার সাথে।
  4. প্রতিক্রিয়ায় shareToken মান রেকর্ড করুন। শেয়ার টোকেন হল একটি শেয়ার্ড অ্যালবামের একটি শনাক্তকারী যা বিভিন্ন ব্যবহারকারীর অ্যাকাউন্টে ব্যবহার করা যেতে পারে।
  5. অন্য ব্যবহারকারী এখন আপনার অ্যাপের মাধ্যমে প্রমাণীকরণ করতে পারেন, তারপর যোগদান করতে পারেন , ছেড়ে যেতে পারেন বা shareToken ব্যবহার করে শেয়ার করা অ্যালবামের বিশদ পুনরুদ্ধার করতে পারেন

শেয়ার অপশন

sharedAlbumOptions প্যারামিটার ব্যবহার করে একটি অ্যালবাম শেয়ার করার সময় নিম্নলিখিত বিকল্পগুলি সেট করা যেতে পারে৷ বিকল্পগুলি স্পষ্টভাবে সেট করা না থাকলে, ডিফল্ট মানগুলি ব্যবহার করা হয়।

সম্পত্তি ডিফল্ট মান বর্ণনা
isCollaborative false অন্য Google ফটো ব্যবহারকারীরা শেয়ার করা অ্যালবামে কন্টেন্ট যোগ করতে পারবে কিনা তা সেট করে।
isCommentable false অন্য Google ফটো ব্যবহারকারীরা শেয়ার করা অ্যালবামে মন্তব্য করতে পারবে কিনা তা সেট করে।

উদাহরণ অনুরোধ

নিম্নলিখিত অনুরোধটি বিকল্পগুলির সাথে albums.share কল করে একটি অ্যালবাম শেয়ার করে৷ একটি shareInfo বৈশিষ্ট্য প্রতিক্রিয়াতে ফেরত দেওয়া হয় যা অ্যালবামের শেয়ারিং বৈশিষ্ট্য বর্ণনা করে।

বিশ্রাম

এখানে একটি অ্যালবাম শেয়ার করার জন্য একটি POST অনুরোধ শিরোনাম রয়েছে:

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"
  }
}

জাভা

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
}

পিএইচপি

// 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 ফটো অ্যালবামের একটি লিঙ্ক৷ লিঙ্ক সহ যে কেউ অ্যালবামের বিষয়বস্তু দেখতে পারেন, তাই এটি যত্ন সহকারে আচরণ করা উচিত।

shareableUrl ক্ষেত্রটি শুধুমাত্র তখনই ফেরত দেওয়া হয় যদি অ্যালবামে লিঙ্ক শেয়ারিং চালু থাকে। যদি একজন ব্যবহারকারী ইতিমধ্যেই এমন একটি অ্যালবামে যোগদান করেন যা লিঙ্ক-শেয়ার করা হয়নি, তবে তারা পরিবর্তে এটি অ্যাক্সেস করতে অ্যালবামের productUrl ব্যবহার করতে পারে৷

মালিক যদি Google Photos অ্যাপে লিঙ্ক শেয়ার করা বন্ধ করে দেয় বা অ্যালবামটি শেয়ার না করা থাকে তাহলে shareableUrl বাতিল হয়ে যাবে।

shareToken

একটি টোকেন যা মালিক নন এমন ব্যবহারকারীর পক্ষ থেকে একটি শেয়ার করা অ্যালবামের বিশদ যোগদান , ছেড়ে যেতে বা পুনরুদ্ধার করতে ব্যবহৃত হয়৷

যদি মালিক Google Photos অ্যাপে লিঙ্ক শেয়ারিং বন্ধ করে দেন বা অ্যালবামটি শেয়ার না করা হয় তাহলে shareToken বাতিল হয়ে যাবে।

isJoinable অ্যালবাম ব্যবহারকারীদের দ্বারা যোগদান করা যেতে পারে যদি True .
isJoined ব্যবহারকারী অ্যালবামে যোগদান করলে True । অ্যালবামের মালিকের জন্য এটি সর্বদা সত্য।
isOwned ব্যবহারকারী অ্যালবামটির মালিক হলে True

একটি অ্যালবাম শেয়ার করা বন্ধ করা হচ্ছে

আপনার অ্যাপ পূর্বে শেয়ার করা অ্যালবামকে আনশেয়ার করতে, অ্যালবামের albumId ব্যবহার করে albums.unshare কল করুন।

অ্যালবামটি আর শেয়ার করা হচ্ছে না ছাড়াও, নিম্নলিখিত জিনিসগুলি ঘটবে:

  • সমস্ত অ-মালিক অ্যালবামে অ্যাক্সেস হারাবেন৷ এর মধ্যে এমন লোকেদের অন্তর্ভুক্ত যারা অ্যালবামটি বিশেষভাবে Google Photos অ্যাপের মাধ্যমে শেয়ার করেছেন
  • অ-মালিকদের দ্বারা যোগ করা সমস্ত সামগ্রী অ্যালবাম থেকে সরানো হবে৷
  • যদি কোনো ব্যবহারকারী পূর্বে তাদের লাইব্রেরিতে অ্যালবামের বিষয়বস্তু যোগ করে থাকে, তাহলে বিষয়বস্তু তাদের লাইব্রেরিতে রাখা হবে।
  • অ্যালবামের শেয়ার টোকেন এবং শেয়ারযোগ্য URL অবৈধ হয়ে যাবে৷

উদাহরণ অনুরোধ

বিশ্রাম

এখানে একটি অ্যালবাম শেয়ার না করার জন্য একটি POST অনুরোধ শিরোনাম রয়েছে:

POST https://photoslibrary.googleapis.com/v1/albums/album-id:unshare
Content-type: application/json
Authorization: Bearer oauth2-token

অনুরোধের বডি খালি হতে হবে।

অনুরোধ সফল হলে, এটি একটি HTTP সাফল্য স্থিতি কোড সহ একটি খালি প্রতিক্রিয়া প্রদান করে। অনুরোধ সফল না হলে, এটি একটি ত্রুটি বার্তা সহ একটি HTTP ত্রুটি স্থিতি কোড ফেরত দেয়।

জাভা

try {
  // If this call is not successful, an exception is raised
  photosLibraryClient.unshareAlbum(albumId);
} catch (ApiException e) {
  // Handle error
}

পিএইচপি

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
}

শেয়ার করা অ্যালবাম এবং শেয়ার টোকেন পুনরুদ্ধার করা হচ্ছে

একটি শেয়ার করা অ্যালবামের বিশদ বিবরণ , এর শেয়ার টোকেন সহ, যখন আপনার অ্যাপ একটি অ্যালবাম শেয়ার করে তখন ফেরত দেওয়া হয়৷ আপনি নিম্নলিখিত উপায়ে পরে সেই বিবরণগুলি পুনরুদ্ধার করতে পারেন৷

যদি বর্তমানে আপনার অ্যাপের সাথে সংযুক্ত ব্যবহারকারী মালিক হন, বা অ্যালবামে যোগদান করেন:

  • প্রাসঙ্গিক albumId ব্যবহার করে albums.get সহ।
  • albums.list সহ, যদি অ্যালবামে মিডিয়া আইটেম থাকে।
  • sharedAlbums.list এর সাথে, যা ব্যবহারকারীর সাথে যুক্ত বা মালিকানাধীন সমস্ত শেয়ার করা অ্যালবাম ফিরিয়ে দেয়। শুধুমাত্র আপনার অ্যাপ তৈরি করা অ্যালবামগুলি পুনরুদ্ধার করতে, excludeNonAppCreatedData প্যারামিটার ব্যবহার করুন।
  • sharedAlbums.get এর সাথে শেয়ার টোকেন ব্যবহার করুন।

যদি বর্তমানে আপনার অ্যাপের সাথে সংযুক্ত ব্যবহারকারী অ্যালবামে যোগদান না করে থাকেন, তাহলে আপনি একটি বৈধ শেয়ার টোকেন ব্যবহার করে sharedAlbums.get এর মাধ্যমে একটি শেয়ার করা অ্যালবামের বিবরণ পুনরুদ্ধার করতে পারেন৷

উদাহরণ অনুরোধ

বিশ্রাম

এখানে shareToken দ্বারা একটি অ্যালবাম পাওয়ার জন্য একটি অনুরোধ রয়েছে:

GET https://photoslibrary.googleapis.com/v1/sharedAlbums/share-token

অনুরোধ সফল হলে, এটি শেয়ার করা album বিবরণ ফেরত দেয়।

জাভা

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
}

পিএইচপি

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
}

একটি ভাগ করা অ্যালবামে যোগদান

আপনার অ্যাপ অ্যালবামের শেয়ার টোকেন সহ ব্যবহারকারীর পক্ষ থেকে একটি শেয়ার করা অ্যালবামে যোগ দিতে পারে৷ এটি করার জন্য, নিম্নলিখিত শর্তগুলি সত্য হতে হবে:

  • আপনার অ্যাপটি অ্যালবাম তৈরি এবং শেয়ার করেছে
  • আপনি যে ব্যবহারকারীকে অ্যালবামে যোগ দিতে চান তিনি এর মালিক নন৷ অর্থাৎ, অ্যালবামের shareInfoisOwned ক্ষেত্রটি মিথ্যা।
  • শেয়ার টোকেন বৈধ।
  • অ্যালবামের shareInfo isJoinable ক্ষেত্রটি সত্য।

বিশ্রাম

এখানে একটি শেয়ার করা অ্যালবামে যোগদানের জন্য একটি POST অনুরোধ শিরোনাম রয়েছে:

POST https://photoslibrary.googleapis.com/v1/sharedAlbums:join
Content-type: application/json
Authorization: Bearer oauth2-token

অনুরোধের অংশে, shareToken নির্দিষ্ট করুন।

{
  "shareToken": "share-token"
}

POST অনুরোধটি শেয়ার করা album ফেরত দেয় যেটি ব্যবহারকারীর পক্ষ থেকে আপনার অ্যাপে যোগ দেওয়া হয়েছে।

জাভা

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
}

পিএইচপি

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
}

একটি শেয়ার করা অ্যালবাম ছেড়ে যাচ্ছে

অ্যালবামের শেয়ার টোকেন ব্যবহার করে আপনার অ্যাপ একজন ব্যবহারকারীর পক্ষ থেকে একটি শেয়ার করা অ্যালবাম ছেড়ে যেতে পারে। এটি করার জন্য, নিম্নলিখিত শর্তগুলি সত্য হতে হবে:

  • আপনার অ্যাপটি অ্যালবাম তৈরি এবং শেয়ার করেছে।
  • ব্যবহারকারী বর্তমানে অ্যালবামে যোগদান করেছেন৷ অর্থাৎ, অ্যালবামের shareInfo isJoined ফিল্ডটি সত্য।
  • আপনার অ্যাপের সাথে সংযুক্ত ব্যবহারকারী অ্যালবামের মালিক নয়৷ অর্থাৎ, অ্যালবামের shareInfoisOwned ক্ষেত্রটি মিথ্যা।

বিশ্রাম

এখানে একটি শেয়ার করা অ্যালবাম ছেড়ে যাওয়ার জন্য একটি POST অনুরোধ শিরোনাম রয়েছে:

POST https://photoslibrary.googleapis.com/v1/sharedAlbums:leave
Content-type: application/json
Authorization: Bearer oauth2-token

অনুরোধের অংশে, shareToken নির্দিষ্ট করুন।

{
  "shareToken": "share-token"
}

অনুরোধ সফল হলে, এটি একটি HTTP সাফল্য স্থিতি কোড সহ একটি খালি প্রতিক্রিয়া প্রদান করে। অনুরোধ সফল না হলে, এটি একটি ত্রুটি বার্তা সহ একটি HTTP ত্রুটি স্থিতি কোড ফেরত দেয়।

জাভা

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
}

পিএইচপি

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"
  }
}