একটি ফটো লাইব্রেরি বা অ্যালবামের বিষয়বস্তু তালিকাভুক্ত করার জন্য কল করার পরে, ফিরে আসা মিডিয়া আইটেমগুলি সংরক্ষণ করার পরিবর্তে, আপনার অ্যাপ্লিকেশনটি মিডিয়া আইটেমগুলির আইডি সংরক্ষণ করা উচিত৷ কারণ মিডিয়া আইটেমগুলির বিষয়বস্তু পরিবর্তিত হতে পারে এবং একটি নির্দিষ্ট সময়ের পরে, প্রতিক্রিয়াতে অন্তর্ভুক্ত URLগুলির মেয়াদ শেষ হয়ে যায়৷ মিডিয়া আইটেম আইডি অনন্যভাবে একটি মিডিয়া আইটেম সনাক্ত করে, যেমন একটি ফটো বা ব্যবহারকারীর লাইব্রেরির মধ্যে একটি ভিডিও।
প্রয়োজনীয় অনুমোদনের সুযোগ
অ্যাপ-তৈরি মিডিয়া আইটেম অ্যাক্সেস করতে photoslibrary.readonly.appcreateddata সুযোগ প্রয়োজন। স্কোপ সম্পর্কে আরও তথ্যের জন্য, অনুমোদনের সুযোগগুলি দেখুন।
মিডিয়া আইটেম
একটি mediaItem হল মিডিয়ার একটি উপস্থাপনা যেমন একটি ফটো বা ভিডিও যা Google ফটো লাইব্রেরিতে আপলোড করা হয়েছে৷ এটি একটি শীর্ষ-স্তরের বস্তু এবং এর বৈশিষ্ট্যগুলি অন্তর্নিহিত মিডিয়া প্রকারের উপর ভিত্তি করে পৃথক হতে পারে।
নিম্নলিখিত সারণী mediaItem বৈশিষ্ট্য তালিকাভুক্ত করে:
| বৈশিষ্ট্য | |
|---|---|
id | বস্তু সনাক্ত করতে ব্যবহৃত একটি স্থায়ী, স্থিতিশীল আইডি। |
description | মিডিয়া আইটেমের বর্ণনা যেমন Google Photos-এর ভিতরে দেখা যায়। |
baseUrl | কাঁচা বাইট অ্যাক্সেস করতে ব্যবহৃত. আরও তথ্যের জন্য, বেস ইউআরএল দেখুন। |
productUrl | Google Photos-এর ভিতরে ছবির একটি লিঙ্ক। এই লিঙ্কটি বিকাশকারী দ্বারা খোলা যাবে না, শুধুমাত্র ব্যবহারকারীর দ্বারা। ইউআরএল লাইব্রেরিতে একটি মিডিয়া আইটেম নির্দেশ করে। যদি URLটি একটি অ্যালবাম অনুসন্ধান থেকে পুনরুদ্ধার করা হয় তবে এটি অ্যালবামের মধ্যে থাকা আইটেমটিকে নির্দেশ করে৷ |
mimeType | মিডিয়ার ধরন সহজে সনাক্ত করতে সাহায্য করার জন্য মিডিয়া আইটেমের ধরন (উদাহরণস্বরূপ: image/jpg )। |
filename | Google Photos অ্যাপে (আইটেমের তথ্য বিভাগের মধ্যে) ব্যবহারকারীকে দেখানো মিডিয়া আইটেমের ফাইলের নাম। |
mediaMetadata | মিডিয়ার অন্তর্নিহিত প্রকারের উপর নির্ভর করে পরিবর্তিত হয়, যেমন photo বা video । পেলোড কমাতে, ফিল্ড মাস্ক ব্যবহার করা যেতে পারে। |
একটি মিডিয়া আইটেম পান
একটি মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItemId কল করুন। অনুরোধ একটি একক মিডিয়া আইটেম ফেরত.
mediaItem বৈশিষ্ট্য রয়েছে, যেমন আইডি, বিবরণ এবং URL। photo বা video অতিরিক্ত তথ্য ফাইলের মধ্যে থাকা মেটাডেটার উপর ভিত্তি করে। সব সম্পত্তি উপস্থিত নাও হতে পারে.
মিডিয়া আইটেম একটি ভিডিও হলে, ভিডিও ফাইলটি প্রথমে প্রক্রিয়া করা আবশ্যক। mediaItem mediaMetadata ভিতরে একটি status ক্ষেত্র রয়েছে যা ভিডিও ফাইলের প্রক্রিয়াকরণ অবস্থা বর্ণনা করে। একটি নতুন আপলোড করা ফাইল ব্যবহারের জন্য READY হওয়ার আগে, প্রথমে PROCESSING মান সহ videoProcessingStatus প্রদান করে৷ ভিডিওটি প্রক্রিয়া না হওয়া পর্যন্ত একটি ভিডিও মিডিয়া আইটেমের baseUrl উপলব্ধ নয়৷
বিশ্রাম
এখানে একটি GET অনুরোধ রয়েছে:
GET https://photoslibrary.googleapis.com/v1/mediaItems/media-item-id Content-type: application/json Authorization: Bearer oauth2-token
একটি ফটো মিডিয়া আইটেম জন্য প্রতিক্রিয়া এই মত দেখায়. ছবির সম্পত্তিতে ছবির আইটেমগুলির জন্য মেটাডেটা রয়েছে।
{
"id": "media-item-id",
"description": "item-description",
"productUrl": "url-to-open-in-google-photos",
"baseUrl": "base-url_do-not-use-directly",
"mimeType": "mime-type-of-media",
"filename": "item-filename",
"mediaMetadata": {
"width": "media-item-width",
"height": "media-item-height",
"creationTime": "media-item-creation-time",
"photo": {
"cameraMake": "make-of-the-camera",
"cameraModel": "model-of-the-camera",
"focalLength": "focal-length-of-the-camera-lens",
"apertureFNumber": "aperture-f-number-of-the-camera-lens",
"isoEquivalent": "iso-of-the-camera",
"exposureTime": "exposure-time-of-the-camera-aperture"
}
},
"contributorInfo": {
"profilePictureBaseUrl": "profile-picture-base-url_do-not-use-directly",
"displayName": "name-of-user"
}
}একটি ভিডিও মিডিয়া আইটেমের প্রতিক্রিয়া এই মত দেখায়. ভিডিও সম্পত্তিতে ভিডিও আইটেমগুলির জন্য মেটাডেটা রয়েছে৷
{
"id": "media-item-id",
"description": "item-description",
"productUrl": "url-to-open-in-google-photos",
"baseUrl": "base-url_do-not-use-directly",
"mimeType": "mime-type-of-media",
"filename": "item-filename",
"mediaMetadata": {
"width": "media-item-width",
"height": "media-item-height",
"creationTime": "media-item-creation-time",
"video": {
"cameraMake": "make-of-the-camera",
"cameraModel": "model-of-the-camera",
"fps": "frame-rate-of-the-video",
"status": "READY"
},
},
"contributorInfo": {
"profilePictureBaseUrl": "profile-picture-base-url_do-not-use-directly",
"displayName": "name-of-user"
}
}একাধিক মিডিয়া আইটেম পান
তাদের শনাক্তকারীদের দ্বারা একাধিক মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItems.batchGet ব্যবহার করে mediaItemId কল করুন৷
অনুরোধটি অনুরোধে সরবরাহ করা মিডিয়া আইটেম শনাক্তকারীর ক্রম অনুসারে MediaItemResults এর একটি তালিকা প্রদান করে। প্রতিটি ফলাফলে একটি MediaItem বা একটি Status থাকে যদি কোনো ত্রুটি থাকে।
আপনি এক কলে সর্বাধিক 50টি মিডিয়া আইটেম অনুরোধ করতে পারেন। মিডিয়া আইটেমগুলির তালিকায় অবশ্যই সদৃশ শনাক্তকারী থাকবে না এবং খালি থাকা যাবে না।
বিশ্রাম
এখানে একটি GET অনুরোধ রয়েছে যা মিডিয়া আইটেমগুলির সফল এবং অসফল অ্যাক্সেস দেখায়৷ অনুরোধের অংশ হিসাবে প্রতিটি মিডিয়া আইটেম শনাক্তকারীকে একটি নতুন mediaItemIds ক্যোয়ারী প্যারামিটার হিসাবে নির্দিষ্ট করুন:
GET https://photoslibrary.googleapis.com/v1/mediaItems:batchGet?mediaItemIds=media-item-id&mediaItemIds=another-media-item-id&mediaItemIds=incorrect-media-item-id Content-type: application/json Authorization: Bearer oauth2-token
GET অনুরোধ নিম্নলিখিত প্রতিক্রিয়া প্রদান করে:
{
"mediaItemResults": [
{
"mediaItem": {
"id": "media-item-id",
...
}
},
{
"mediaItem": {
"id": "another-media-item-id",
...
}
},
{
"status": {
"code": 3,
"message": "Invalid media item ID."
}
}
]
}বেস ইউআরএল
Google Photos API-এর বেস ইউআরএলগুলি মিডিয়া আইটেমগুলির কাঁচা বাইটগুলিতে অ্যাক্সেস প্রদান করে, আপনার অ্যাপকে সেগুলি ডাউনলোড বা প্রদর্শন করতে সক্ষম করে৷ অ্যালবাম (লাইব্রেরি API) তালিকাভুক্ত করার সময় বা মিডিয়া আইটেমগুলি (লাইব্রেরি এবং পিকার API উভয়ই) অ্যাক্সেস করার সময় এই URLগুলি প্রতিক্রিয়াগুলিতে অন্তর্ভুক্ত করা হয়। মনে রাখবেন, বেস ইউআরএল সঠিকভাবে কাজ করার জন্য অতিরিক্ত প্যারামিটার প্রয়োজন।
পিকার API এর জন্য:
সমস্ত PickedMediaItem.mediaFile অবজেক্টে একটি baseUrl অন্তর্ভুক্ত থাকে।
বেস ইউআরএলগুলি 60 মিনিটের জন্য সক্রিয় থাকে, তবে ব্যবহারকারী যদি তাদের Google অ্যাকাউন্ট সেটিংসের মাধ্যমে আপনার অ্যাপের অনুমতি প্রত্যাহার করে তবে তাড়াতাড়ি মেয়াদ শেষ হতে পারে।
লাইব্রেরি API এর জন্য:
বেস ইউআরএল 60 মিনিটের জন্য সক্রিয় থাকে।
বিভিন্ন ভিত্তি URL হল:
-
baseUrl: সরাসরি একটি ভিডিওর জন্য ফটো, থাম্বনেল অ্যাক্সেস করুন বা ভিডিও বাইট ডাউনলোড করুন। -
coverPhotoBaseUrl: অ্যালবামের জন্য সরাসরি কভার ফটো অ্যাক্সেস করুন৷ -
profilePictureBaseUrl: সরাসরিmediaItemমালিকের প্রোফাইল ফটো অ্যাক্সেস করুন।
ছবির ভিত্তি URL
এখানে বিকল্পগুলির তালিকা রয়েছে যা আপনি ইমেজ বেস ইউআরএলগুলির সাথে ব্যবহার করতে পারেন:
| প্যারামিটার | |
|---|---|
w , h | বর্ণনা প্রস্থ, একটি ইমেজ মিডিয়া আইটেম অ্যাক্সেস করতে, যেমন একটি ভিডিওর জন্য একটি ফটো বা একটি থাম্বনেইল, আপনাকে অবশ্যই আপনার অ্যাপ্লিকেশনে প্রদর্শন করার পরিকল্পনা করা মাত্রাগুলি নির্দিষ্ট করতে হবে (যাতে আকৃতির অনুপাত সংরক্ষণ করার সময় ছবিটি এই মাত্রাগুলিতে স্কেল করা যেতে পারে)৷ এটি করার জন্য, উদাহরণগুলিতে দেখানো হিসাবে আপনার প্রয়োজনীয় মাত্রাগুলির সাথে বেস ইউআরএল সংযুক্ত করুন৷ উদাহরণ: base-url=wmax-width-hmax-height এখানে 2048 পিক্সেলের চেয়ে বেশি চওড়া এবং 1024 পিক্সেলের বেশি লম্বা নয় এমন একটি মিডিয়া আইটেম প্রদর্শনের একটি উদাহরণ রয়েছে: https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024 |
c | বর্ণনা ফসল, আপনি যদি নির্দিষ্ট প্রস্থ এবং উচ্চতার মাত্রায় ইমেজটি ক্রপ করতে চান, তাহলে বাধ্যতামূলক আকার (পিক্সেলে) পরিসরে হওয়া উচিত [1, 16383]। যদি হয় ছবির প্রস্থ বা উচ্চতা, অনুরোধ করা মাপ ছাড়িয়ে যায়, ছবি ছোট করে ছোট করা হয় (আকৃতির অনুপাত বজায় রেখে)। উদাহরণ: base-url=wmax-width-hmax-height-c এই উদাহরণে, অ্যাপ্লিকেশনটি একটি মিডিয়া আইটেম প্রদর্শন করে যা ঠিক 256 পিক্সেল চওড়া এবং 256 পিক্সেল উচ্চ, যেমন থাম্বনেইল: https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c |
d | বর্ণনা ডাউনলোড, আপনি যদি অবস্থানের মেটাডেটা ব্যতীত সমস্ত Exif মেটাডেটা ধরে রেখে ইমেজ ডাউনলোড করতে চান, তাহলে উদাহরণ: base-url=d এই উদাহরণে, অ্যাপ্লিকেশনটি অবস্থানের মেটাডেটা ব্যতীত সমস্ত মেটাডেটা সহ একটি চিত্র ডাউনলোড করে: https://lh3.googleusercontent.com/p/Az....XabC=d |
ভিডিও বেস ইউআরএল
ভিডিও বেস ইউআরএলগুলির সাথে আপনি ব্যবহার করতে পারেন এমন বিকল্পগুলির তালিকা এখানে রয়েছে:
| প্যারামিটার | |
|---|---|
dv | বর্ণনা একটি ভিডিও ডিভি প্যারামিটারটি মূল ভিডিওর একটি উচ্চ মানের, ট্রান্সকোডেড সংস্করণের জন্য অনুরোধ করে। প্যারামিটারটি w এবং h প্যারামিটারের সাথে সামঞ্জস্যপূর্ণ নয়। ভিডিও ডাউনলোডের জন্য বেস URL গুলি বাইট ফেরত পেতে কয়েক সেকেন্ড পর্যন্ত সময় নিতে পারে৷ এই প্যারামিটারটি ব্যবহার করার আগে, মিডিয়া আইটেমগুলির উদাহরণ: base-url=dv নিম্নলিখিত উদাহরণ আপনাকে দেখায় কিভাবে একটি ভিডিওর বাইট ডাউনলোড করতে হয়: https://lh3.googleusercontent.com/p/AF....BsdZ=dv |
w , h , c , এবং d | বর্ণনা ভিডিওর থাম্বনেইল অ্যাক্সেস করতে ছবির বেস ইউআরএল প্যারামিটারের যেকোনো একটি ব্যবহার করুন। ডিফল্টরূপে, সমস্ত ভিডিও থাম্বনেইলে একটি প্লেব্যাক বোতামের একটি ওভারলে অন্তর্ভুক্ত থাকে। এই ওভারলে অপসারণ করতে -কোন প্যারামিটার দেখুন। উদাহরণ: উদাহরণের জন্য ইমেজ বেস ইউআরএল টেবিল পড়ুন। |
no | বর্ণনা থাম্বনেইল ওভারলে অপসারণ করুন, কোনো প্যারামিটার আপনি যদি কোনো প্লেব্যাক বোতামের ওভারলে ছাড়াই কোনো ভিডিওর থাম্বনেল পুনরুদ্ধার করতে চান, তাহলে কোনো প্যারামিটার ছাড়াই বেস ইউআরএল সংযুক্ত করুন। নো প্যারামিটার অবশ্যই অন্তত একটি ছবির বেস URL প্যারামিটারের সাথে ব্যবহার করা উচিত। উদাহরণ: base-url=wmax-width-hmax-height-no নিম্নলিখিত উদাহরণটি একটি ভিডিও থাম্বনেইল প্রদর্শন করে যা ঠিক 1280 পিক্সেল চওড়া বাই 720 পিক্সেল উচ্চ এবং একটি প্লেব্যাক বোতাম ওভারলে অন্তর্ভুক্ত করে না: https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no |
মোশন ফটো বেস ইউআরএল
মোশন ফটোতে ফটো এবং ভিডিও উভয় উপাদানই থাকে। আপনি মোশন ফটো baseUrl অনুরোধের জন্য ইমেজ বেস ইউআরএল বা ভিডিও বেস ইউআরএল থেকে প্যারামিটার ব্যবহার করতে পারেন।
| প্যারামিটার | |
|---|---|
dv | বর্ণনা একটি মোশন ফটো মিডিয়া আইটেমের ভিডিও উপাদান পুনরুদ্ধার করতে, |
w , h , c , এবং d | বর্ণনা একটি মোশন ফটো মিডিয়া আইটেমের ফটো উপাদান পুনরুদ্ধার করতে, ইমেজ বেস URL- এর বিন্যাসটি ব্যবহার করুন। |