আপনার অ্যাপ দ্বারা তৈরি অ্যালবামগুলি ব্যবহারকারীদের মধ্যে ভাগ করা যেতে পারে, বিকল্পগুলির সাথে সেই ব্যবহারকারীদের মন্তব্য করার অনুমতি দেওয়ার জন্য বা অ্যালবামে তাদের নিজস্ব মিডিয়া আইটেমগুলি অবদান রাখতে পারে৷
Google Photos Library API-এর মাধ্যমে একটি অ্যালবাম শেয়ার করতে, আপনার অ্যাপকে নিম্নলিখিতগুলি করতে হবে:
- একজন ব্যবহারকারীর পক্ষে একটি অ্যালবাম তৈরি করুন ৷
- শেয়ার করা অ্যালবাম সেট করুন .
প্রয়োজনীয় প্রমাণীকরণ সুযোগ
বিষয়বস্তু শেয়ার করার জন্য, আপনার অ্যাপটিকে অবশ্যই photoslibrary.sharing
অনুমোদনের সুযোগের অনুরোধ করতে হবে।
একটি অ্যালবাম শেয়ার করছি
একটি অ্যালবাম শেয়ার করার আগে, নিম্নলিখিত বিবেচনায় নিন:
- আপনার অ্যাপ শুধুমাত্র এটি তৈরি করা অ্যালবাম শেয়ার করতে পারে। Google ফটো সহ অন্যান্য অ্যাপ দ্বারা তৈরি করা অ্যালবামগুলি আপনার অ্যাপ দ্বারা শেয়ার করা যাবে না।
- যখন আপনার অ্যাপ লাইব্রেরি API-এর মাধ্যমে একটি অ্যালবাম শেয়ার করে, তখন একটি শেয়ারযোগ্য URL তৈরি হয় যা যে কেউ অ্যালবাম অ্যাক্সেস করতে ব্যবহার করতে পারে।
- API-এর মাধ্যমে শেয়ার করা অ্যালবামের জন্য, অ্যালবামের মালিক Google Photos অ্যাপে লিঙ্ক শেয়ারিং বন্ধ বা অ্যালবামটিকে আনশেয়ার করতে পারেন, সম্ভাব্যভাবে আপনার অ্যাপটিকে এতে নতুন ব্যবহারকারীদের যোগদান থেকে বাধা দেয়।
একটি অ্যালবাম শেয়ার করতে:
- UX নির্দেশিকা অনুসরণ করুন এবং একটি শেয়ার করা অ্যালবাম তৈরি করতে ব্যবহারকারীর কাছ থেকে স্পষ্ট সম্মতি নিন।
- অ্যালবামটি তৈরি করুন এবং এর
albumId
রেকর্ড করুন। আপনি যদি ইতিমধ্যেই অ্যালবামটি তৈরি করে থাকেন, তাহলে ব্যবহারকারীর অ্যালবামগুলি তালিকাভুক্ত করে আপনি এটিরalbumId
পুনরুদ্ধার করতে পারেন৷ - প্রাসঙ্গিক
albumId
ব্যবহার করেalbums.share
কল করুন, আপনি যে শেয়ার বিকল্পগুলি সেট করতে চান তার সাথে। - প্রতিক্রিয়ায়
shareToken
মান রেকর্ড করুন। শেয়ার টোকেন হল একটি শেয়ার্ড অ্যালবামের একটি শনাক্তকারী যা বিভিন্ন ব্যবহারকারীর অ্যাকাউন্টে ব্যবহার করা যেতে পারে। - অন্য ব্যবহারকারী এখন আপনার অ্যাপের মাধ্যমে প্রমাণীকরণ করতে পারেন, তারপর যোগদান করতে পারেন , ছেড়ে যেতে পারেন বা
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 ফটো অ্যালবামের একটি লিঙ্ক৷ লিঙ্ক সহ যে কেউ অ্যালবামের বিষয়বস্তু দেখতে পারেন, তাই এটি যত্ন সহকারে আচরণ করা উচিত। মালিক যদি Google Photos অ্যাপে লিঙ্ক শেয়ার করা বন্ধ করে দেয় বা অ্যালবামটি শেয়ার না করা থাকে তাহলে |
shareToken | একটি টোকেন যা মালিক নন এমন ব্যবহারকারীর পক্ষ থেকে একটি শেয়ার করা অ্যালবামের বিশদ যোগদান , ছেড়ে যেতে বা পুনরুদ্ধার করতে ব্যবহৃত হয়৷ যদি মালিক Google Photos অ্যাপে লিঙ্ক শেয়ারিং বন্ধ করে দেন বা অ্যালবামটি শেয়ার না করা হয় তাহলে |
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 }
একটি ভাগ করা অ্যালবামে যোগদান
আপনার অ্যাপ অ্যালবামের শেয়ার টোকেন সহ ব্যবহারকারীর পক্ষ থেকে একটি শেয়ার করা অ্যালবামে যোগ দিতে পারে৷ এটি করার জন্য, নিম্নলিখিত শর্তগুলি সত্য হতে হবে:
- আপনার অ্যাপটি অ্যালবাম তৈরি এবং শেয়ার করেছে ।
- আপনি যে ব্যবহারকারীকে অ্যালবামে যোগ দিতে চান তিনি এর মালিক নন৷ অর্থাৎ, অ্যালবামের
shareInfo
এisOwned
ক্ষেত্রটি মিথ্যা। - শেয়ার টোকেন বৈধ।
- অ্যালবামের
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
ফিল্ডটি সত্য। - আপনার অ্যাপের সাথে সংযুক্ত ব্যবহারকারী অ্যালবামের মালিক নয়৷ অর্থাৎ, অ্যালবামের
shareInfo
এisOwned
ক্ষেত্রটি মিথ্যা।
বিশ্রাম
এখানে একটি শেয়ার করা অ্যালবাম ছেড়ে যাওয়ার জন্য একটি 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" } }