মিডিয়া আইটেম অ্যাক্সেস

একটি ফটো লাইব্রেরি বা অ্যালবামের বিষয়বস্তু তালিকাভুক্ত করার জন্য কল করার পরে, ফিরে আসা মিডিয়া আইটেমগুলি সংরক্ষণ করার পরিবর্তে, আপনার অ্যাপ্লিকেশনটি মিডিয়া আইটেমগুলির আইডি সংরক্ষণ করা উচিত৷ কারণ মিডিয়া আইটেমগুলির বিষয়বস্তু পরিবর্তিত হতে পারে এবং একটি নির্দিষ্ট সময়ের পরে, প্রতিক্রিয়াতে অন্তর্ভুক্ত URLগুলির মেয়াদ শেষ হয়ে যায়৷ মিডিয়া আইটেম আইডি অনন্যভাবে একটি মিডিয়া আইটেম সনাক্ত করে, যেমন একটি ফটো বা ব্যবহারকারীর লাইব্রেরির মধ্যে একটি ভিডিও।

মনে রাখবেন যে আপনার অ্যাপ্লিকেশনটি কোনও ব্যবহারকারীর ফটো বা ভিডিওকে দীর্ঘ সময়ের জন্য ক্যাশে করা উচিত নয়, তবে আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে, আপনি যতক্ষণ প্রয়োজন ততক্ষণ মিডিয়া আইটেম আইডি সংরক্ষণ বা ক্যাশে করতে পারেন৷ আপনার আরও মনে রাখা উচিত যে ব্যবহারকারীর ডেটা অ্যাক্সেস গোপনীয়তার বাধ্যবাধকতা দ্বারা নিয়ন্ত্রিত হয়।

প্রয়োজনীয় অনুমোদনের সুযোগ

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

  • photoslibrary.readonly ব্যবহারকারীর লাইব্রেরিতে সমস্ত মিডিয়া আইটেম অ্যাক্সেস করার অনুমতি দেয়৷
  • photoslibrary.readonly.appcreateddata শুধুমাত্র মিডিয়া আইটেমগুলিতে অ্যাক্সেসের অনুমতি দেয় যা অ্যাপ দ্বারা তৈরি করা হয়েছিল

মিডিয়া আইটেম

একটি mediaItem হল মিডিয়ার একটি উপস্থাপনা যেমন একটি ফটো বা ভিডিও যা Google ফটো লাইব্রেরিতে আপলোড করা হয়েছে৷ এটি একটি শীর্ষ-স্তরের বস্তু এবং এর বৈশিষ্ট্যগুলি অন্তর্নিহিত মিডিয়া প্রকারের উপর ভিত্তি করে পৃথক হতে পারে।

নিম্নলিখিত সারণী mediaItem বৈশিষ্ট্য তালিকাভুক্ত করে:

বৈশিষ্ট্য
id বস্তু সনাক্ত করতে ব্যবহৃত একটি স্থায়ী, স্থিতিশীল আইডি।
description মিডিয়া আইটেমের বর্ণনা যেমন Google Photos-এর ভিতরে দেখা যায়।
baseUrl কাঁচা বাইট অ্যাক্সেস করতে ব্যবহৃত. আরও তথ্যের জন্য, বেস ইউআরএল দেখুন।
productUrl

Google Photos-এর ভিতরে ছবির একটি লিঙ্ক। এই লিঙ্কটি বিকাশকারী দ্বারা খোলা যাবে না, শুধুমাত্র ব্যবহারকারীর দ্বারা। ইউআরএল লাইব্রেরিতে একটি মিডিয়া আইটেম নির্দেশ করে। যদি URLটি একটি অ্যালবাম অনুসন্ধান থেকে পুনরুদ্ধার করা হয় তবে এটি অ্যালবামের মধ্যে থাকা আইটেমটিকে নির্দেশ করে৷

mimeType মিডিয়ার ধরন সহজে সনাক্ত করতে সাহায্য করার জন্য মিডিয়া আইটেমের ধরন (উদাহরণস্বরূপ: image/jpg )।
filename Google Photos অ্যাপে (আইটেমের তথ্য বিভাগের মধ্যে) ব্যবহারকারীকে দেখানো মিডিয়া আইটেমের ফাইলের নাম।
mediaMetadata মিডিয়ার অন্তর্নিহিত প্রকারের উপর নির্ভর করে পরিবর্তিত হয়, যেমন photo বা video । পেলোড কমাতে, ফিল্ড মাস্ক ব্যবহার করা যেতে পারে।
contributorInfo

এই ক্ষেত্রটি শুধুমাত্র তখনই পপুলেট করা হয় যদি মিডিয়া আইটেমটি এই অ্যাপ দ্বারা তৈরি করা একটি শেয়ার করা অ্যালবামে থাকে এবং ব্যবহারকারী photoslibrary.sharing স্কোপ মঞ্জুর করে থাকে।

এই মিডিয়া আইটেম যোগ করা অবদানকারী সম্পর্কে তথ্য রয়েছে. আরও বিস্তারিত জানার জন্য, শেয়ার মিডিয়া দেখুন।

একটি মিডিয়া আইটেম পান

একটি মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItemId ব্যবহার করে mediaItems.get এ কল করুন। অনুরোধ একটি একক মিডিয়া আইটেম ফেরত.

mediaItem বৈশিষ্ট্য রয়েছে, যেমন আইডি, বিবরণ এবং URL। photo বা video অতিরিক্ত তথ্য ফাইলের মধ্যে থাকা মেটাডেটার উপর ভিত্তি করে। সব সম্পত্তি উপস্থিত নাও হতে পারে. ContributorInfo আইটেমগুলির জন্য মেটাডেটা ধারণ করে যা একটি শেয়ার করা অ্যালবামের অংশ। এই ক্ষেত্রটি শুধুমাত্র একটি শেয়ার করা অ্যালবামের বিষয়বস্তু তালিকাভুক্ত করার সময় অন্তর্ভুক্ত করা হয় যেখানে ব্যবহারকারী photoslibrary.sharing অনুমোদনের সুযোগ মঞ্জুর করেছেন।

মিডিয়া আইটেম একটি ভিডিও হলে, ভিডিও ফাইলটি প্রথমে প্রক্রিয়া করা আবশ্যক। 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"
  }
}

জাভা

ছবির সম্পত্তিতে ছবির আইটেমগুলির জন্য মেটাডেটা রয়েছে।

try {
  // Get a media item using its ID
  String mediaItemId = "...";
  MediaItem item = photosLibraryClient.getMediaItem(mediaItemId);
  // Get some properties from the retrieved media item
  String id = item.getId();
  String description = item.getDescription();
  String baseUrl = item.getBaseUrl();
  String productUrl = item.getProductUrl();
  // ...
  if (item.hasMediaMetadata()) {
    // The media item contains additional metadata, such as the height and width
    MediaMetadata metadata = item.getMediaMetadata();
    long height = metadata.getHeight();
    long width = metadata.getWidth();
    Timestamp creationTime = metadata.getCreationTime();
    // ...
    if (metadata.hasPhoto()) {
      // This media item is a photo and has additional photo metadata
      Photo photoMetadata = metadata.getPhoto();
      String cameraMake = photoMetadata.getCameraMake();
      String cameraModel = photoMetadata.getCameraModel();
      float aperture = photoMetadata.getApertureFNumber();
      int isoEquivalent = photoMetadata.getIsoEquivalent();
      // ...
    }
  }
  if (item.hasContributorInfo()) {
    // A user has contributed this media item  to a shared album
    ContributorInfo contributorInfo = item.getContributorInfo();
    String profilePictureBaseUrl = contributorInfo.getProfilePictureBaseUrl();
    String displayName = contributorInfo.getDisplayName();
  }
} catch (ApiException e) {
  // Handle error
}

ভিডিও সম্পত্তিতে ভিডিও আইটেমগুলির জন্য মেটাডেটা রয়েছে৷

try {
  // Get a media item using its ID
  String mediaItemId = "...";
  MediaItem item = photosLibraryClient.getMediaItem(mediaItemId);
  // Get some properties from the retrieved media item
  String id = item.getId();
  String description = item.getDescription();
  String baseUrl = item.getBaseUrl();
  String productUrl = item.getProductUrl();
  // ...
  if (item.hasMediaMetadata()) {
    // The media item contains additional metadata, such as the height and width
    MediaMetadata metadata = item.getMediaMetadata();
    long height = metadata.getHeight();
    long width = metadata.getWidth();
    Timestamp creationTime = metadata.getCreationTime();
    // ...

    if (metadata.hasVideo()) {
      // This media item is a video and has additional video metadata
      Video videoMetadata = metadata.getVideo();
      VideoProcessingStatus status = videoMetadata.getStatus();
      if (status.equals(VideoProcessingStatus.READY)) {
        // This video media item has been processed
        String cameraMake = videoMetadata.getCameraMake();
        String cameraModel = videoMetadata.getCameraModel();
        double fps = videoMetadata.getFps();
        // ...
      }
    }
  }

  if (item.hasContributorInfo()) {
    // A user has contributed this media item  to a shared album
    ContributorInfo contributorInfo = item.getContributorInfo();
    String profilePictureBaseUrl = contributorInfo.getProfilePictureBaseUrl();
    String displayName = contributorInfo.getDisplayName();
  }
} catch (ApiException e) {
  // Handle error
}

পিএইচপি

ছবির সম্পত্তিতে ছবির আইটেমগুলির জন্য মেটাডেটা রয়েছে।

try {
    // Get a media item using its ID
    $mediaItemId = "...";
    $item = $photosLibraryClient->getMediaItem($mediaItemId);
    // Get some properties from the retrieved media item
    $id = $item->getId();
    $description = $item->getDescription();
    $baseUrl = $item->getBaseUrl();
    $productUrl = $item->getProductUrl();
    // ...
    $metadata = $item->getMediaMetadata();
    if (!is_null($metadata)) {
        // The media item contains additional metadata, such as the height and width
        $height = $metadata->getHeight();
        $width = $metadata->getWidth();
        $creationTime = $metadata->getCreationTime();
        // ...
        $photoMetadata = $metadata->getPhoto();
        if (!is_null($photoMetadata)) {
            // This media item is a photo and has additional photo metadata
            $cameraMake = $photoMetadata->getCameraMake();
            $cameraModel = $photoMetadata->getCameraModel();
            $aperture = $photoMetadata->getApertureFNumber();
            $isoEquivalent = $photoMetadata->getIsoEquivalent();
            // ...
        }
    }
    $contributorInfo = $item->getContributorInfo();
    if (!is_null($contributorInfo)) {
        // A user has contributed this media item to a shared album
        $profilePictureBaseUrl = $contributorInfo->getProfilePictureBaseUrl();
        $displayName = $contributorInfo->getDisplayName();
    }
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

ভিডিও সম্পত্তিতে ভিডিও আইটেমগুলির জন্য মেটাডেটা রয়েছে৷

  try {
    // Get a media item using its ID
    $mediaItemId = "...";
    $item = $photosLibraryClient->getMediaItem($mediaItemId);
    // Get some properties from the retrieved media item
    $id = $item->getId();
    $description = $item->getDescription();
    $baseUrl = $item->getBaseUrl();
    $productUrl = $item->getProductUrl();
    // ...
    $metadata = $item->getMediaMetadata();
    if (!is_null($metadata)) {
        // The media item contains additional metadata, such as the height and width
        $height = $metadata->getHeight();
        $width = $metadata->getWidth();
        $creationTime = $metadata->getCreationTime();
        // ...
        $videoMetadata = $metadata->getVideo();
        if (!is_null($videoMetadata)) {
            // This media item is a video and has additional video metadata
            if (VideoProcessingStatus::READY == $videoMetadata->getStatus()) {
            // This video media item has been processed
                $cameraMake = $videoMetadata->getCameraMake();
                $cameraModel = $videoMetadata->getCameraModel();
                $fps = $videoMetadata->getFps();
                // ...
            }
        }
    }
    $contributorInfo = $item->getContributorInfo();
    if (!is_null($contributorInfo)) {
        // A user has contributed this media item to a shared album
        $profilePictureBaseUrl = $contributorInfo->getProfilePictureBaseUrl();
        $displayName = $contributorInfo->getDisplayName();
    }
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

একাধিক মিডিয়া আইটেম পান

তাদের শনাক্তকারীদের দ্বারা একাধিক মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItemId ব্যবহার করে mediaItems.batchGet কল করুন৷

অনুরোধটি অনুরোধে সরবরাহ করা মিডিয়া আইটেম শনাক্তকারীর ক্রম অনুসারে 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."
      }
    }
  ]
}

জাভা

try {
  // List of media item IDs to retrieve
  List<String> mediaItemIds = Arrays
      .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID", "INCORRECT_MEDIA_ITEM_ID");

  // Get a list of media items using their IDs
  BatchGetMediaItemsResponse response = photosLibraryClient
      .batchGetMediaItems(mediaItemIds);

  // Loop over each result
  for (MediaItemResult result : response.getMediaItemResultsList()) {

    // Each MediaItemresult contains a status and a media item
    if (result.hasMediaItem()) {
      // The media item was successfully retrieved, get some properties
      MediaItem item = result.getMediaItem();
      String id = item.getId();
      // ...
    } else {
      // If the media item is not set, an error occurred and the item could not be loaded
      // Check the status and handle the error
      Status status = result.getStatus();
      // ...
    }

  }
} catch (ApiException e) {
  // Handle error
}

পিএইচপি

try {

    // List of media item IDs to retrieve
    $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID", "INCORRECT_MEDIA_ITEM_ID"];

    // Get a list of media items using their IDs
    $response = $photosLibraryClient->batchGetMediaItems($mediaItemIds);

    // Loop over each result
    foreach ($response->getMediaItemResults() as $itemResult) {

        // Each MediaItemresult contains a status and a media item
        $mediaItem = $itemResult->getMediaItem();

        if(!is_null($mediaItem)){
            // The media item was successfully retrieved, get some properties
            $id = $mediaItem->getId();
            // ...
        } else {
            // If the media item is null, an error occurred and the item could not be loaded
        }
    }

} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

বেস ইউআরএল

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

বিভিন্ন ভিত্তি URL হল:

  • baseUrl : সরাসরি একটি ভিডিওর জন্য ফটো, থাম্বনেল অ্যাক্সেস করুন বা ভিডিও বাইট ডাউনলোড করুন।
  • coverPhotoBaseUrl : অ্যালবামের জন্য সরাসরি কভার ফটো অ্যাক্সেস করুন৷
  • profilePictureBaseUrl : সরাসরি mediaItem মালিকের প্রোফাইল ফটো অ্যাক্সেস করুন।

ছবির ভিত্তি URL

এখানে বিকল্পগুলির তালিকা রয়েছে যা আপনি ইমেজ বেস ইউআরএলগুলির সাথে ব্যবহার করতে পারেন:

প্যারামিটার
w , h

বর্ণনা

প্রস্থ, w এবং উচ্চতা, h প্যারামিটার।

একটি ইমেজ মিডিয়া আইটেম অ্যাক্সেস করতে, যেমন একটি ভিডিওর জন্য একটি ফটো বা একটি থাম্বনেইল, আপনাকে অবশ্যই আপনার অ্যাপ্লিকেশনে প্রদর্শন করার পরিকল্পনা করা মাত্রাগুলি নির্দিষ্ট করতে হবে (যাতে আকৃতির অনুপাত সংরক্ষণ করার সময় ছবিটি এই মাত্রাগুলিতে স্কেল করা যেতে পারে)৷ এটি করার জন্য, উদাহরণগুলিতে দেখানো হিসাবে আপনার প্রয়োজনীয় মাত্রাগুলির সাথে বেস ইউআরএল সংযুক্ত করুন৷

উদাহরণ:

base-url=wmax-width-hmax-height

এখানে 2048 পিক্সেলের চেয়ে বেশি চওড়া এবং 1024 পিক্সেলের বেশি লম্বা নয় এমন একটি মিডিয়া আইটেম প্রদর্শনের একটি উদাহরণ রয়েছে:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

বর্ণনা

ফসল, c প্যারামিটার।

আপনি যদি নির্দিষ্ট প্রস্থ এবং উচ্চতার মাত্রায় ইমেজটি ক্রপ করতে চান, তাহলে বাধ্যতামূলক w এবং h প্যারামিটারের সাথে ঐচ্ছিক -c প্যারামিটারের সাথে বেস ইউআরএল সংযুক্ত করুন।

আকার (পিক্সেলে) পরিসরে হওয়া উচিত [1, 16383]। যদি হয় ছবির প্রস্থ বা উচ্চতা, অনুরোধ করা মাপ ছাড়িয়ে যায়, ছবি ছোট করে ছোট করা হয় (আকৃতির অনুপাত বজায় রেখে)।

উদাহরণ:

base-url=wmax-width-hmax-height-c

এই উদাহরণে, অ্যাপ্লিকেশনটি একটি মিডিয়া আইটেম প্রদর্শন করে যা ঠিক 256 পিক্সেল চওড়া এবং 256 পিক্সেল উচ্চ, যেমন থাম্বনেইল:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

বর্ণনা

ডাউনলোড, d প্যারামিটার।

আপনি যদি অবস্থানের মেটাডেটা ব্যতীত সমস্ত Exif মেটাডেটা ধরে রেখে ইমেজ ডাউনলোড করতে চান, তাহলে d প্যারামিটারের সাথে বেস ইউআরএল সংযুক্ত করুন।

উদাহরণ:

base-url=d

এই উদাহরণে, অ্যাপ্লিকেশনটি অবস্থানের মেটাডেটা ব্যতীত সমস্ত মেটাডেটা সহ একটি চিত্র ডাউনলোড করে:

https://lh3.googleusercontent.com/p/Az....XabC=d

ভিডিও বেস ইউআরএল

ভিডিও বেস ইউআরএলগুলির সাথে আপনি ব্যবহার করতে পারেন এমন বিকল্পগুলির তালিকা এখানে রয়েছে:

প্যারামিটার
dv

বর্ণনা

একটি ভিডিও mediaItem বাইট অ্যাক্সেস করতে, ডাউনলোড ভিডিও, dv প্যারামিটারের সাথে baseUrl সংযুক্ত করুন।

ডিভি প্যারামিটারটি মূল ভিডিওর একটি উচ্চ মানের, ট্রান্সকোডেড সংস্করণের জন্য অনুরোধ করে। প্যারামিটারটি w এবং h প্যারামিটারের সাথে সামঞ্জস্যপূর্ণ নয়।

ভিডিও ডাউনলোডের জন্য বেস URL গুলি বাইট ফেরত পেতে কয়েক সেকেন্ড পর্যন্ত সময় নিতে পারে৷

এই প্যারামিটারটি ব্যবহার করার আগে, মিডিয়া আইটেমগুলির mediaMetadata.status ক্ষেত্রটি READY কিনা তা পরীক্ষা করুন। অন্যথায়, আপনার মিডিয়া আইটেম প্রক্রিয়াকরণ শেষ না হলে আপনি একটি ত্রুটি পেতে পারেন।

উদাহরণ:

base-url=dv

নিম্নলিখিত উদাহরণ আপনাকে দেখায় কিভাবে একটি ভিডিওর বাইট ডাউনলোড করতে হয়:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w , h , c , এবং d

বর্ণনা

ভিডিওর থাম্বনেইল অ্যাক্সেস করতে ইমেজ বেস ইউআরএল প্যারামিটার ব্যবহার করুন।

ডিফল্টরূপে, সমস্ত ভিডিও থাম্বনেইলে একটি প্লেব্যাক বোতামের একটি ওভারলে অন্তর্ভুক্ত থাকে। এই ওভারলে অপসারণ করতে -কোন প্যারামিটার দেখুন।

উদাহরণ:

উদাহরণের জন্য ইমেজ বেস ইউআরএল টেবিল পড়ুন।

no

বর্ণনা

থাম্বনেইল ওভারলে অপসারণ করুন, কোনো প্যারামিটার no

আপনি যদি কোনো প্লেব্যাক বোতামের ওভারলে ছাড়াই কোনো ভিডিওর থাম্বনেল পুনরুদ্ধার করতে চান, তাহলে কোনো প্যারামিটার ছাড়াই বেস ইউআরএল সংযুক্ত করুন।

নো প্যারামিটার অবশ্যই অন্তত একটি ইমেজ বেস url প্যারামিটারের সাথে ব্যবহার করা উচিত।

উদাহরণ:

base-url=wmax-width-hmax-height-no

নিম্নলিখিত উদাহরণটি একটি ভিডিও থাম্বনেইল প্রদর্শন করে যা ঠিক 1280 পিক্সেল চওড়া বাই 720 পিক্সেল উচ্চ এবং একটি প্লেব্যাক বোতাম ওভারলে অন্তর্ভুক্ত করে না:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

মোশন ফটো বেস ইউআরএল

মোশন ফটোতে ফটো এবং ভিডিও উভয় উপাদানই থাকে। আপনি মোশন ফটো baseUrl অনুরোধের জন্য ইমেজ বেস ইউআরএল বা ভিডিও বেস ইউআরএল থেকে প্যারামিটার ব্যবহার করতে পারেন।

প্যারামিটার
dv

বর্ণনা

একটি মোশন ফটো মিডিয়া আইটেমের ভিডিও উপাদান পুনরুদ্ধার করতে, dv প্যারামিটারটি ব্যবহার করুন যেমন আপনি ভিডিও বেস URL থেকে ডাউনলোড করতে চান।

w , h , c , এবং d

বর্ণনা

একটি মোশন ফটো মিডিয়া আইটেমের ফটো উপাদান পুনরুদ্ধার করতে, ইমেজ বেস URL- এর বিন্যাসটি ব্যবহার করুন।

,

একটি ফটো লাইব্রেরি বা অ্যালবামের বিষয়বস্তু তালিকাভুক্ত করার জন্য কল করার পরে, ফিরে আসা মিডিয়া আইটেমগুলি সংরক্ষণ করার পরিবর্তে, আপনার অ্যাপ্লিকেশনটি মিডিয়া আইটেমগুলির আইডি সংরক্ষণ করা উচিত৷ কারণ মিডিয়া আইটেমগুলির বিষয়বস্তু পরিবর্তিত হতে পারে এবং একটি নির্দিষ্ট সময়ের পরে, প্রতিক্রিয়াতে অন্তর্ভুক্ত URLগুলির মেয়াদ শেষ হয়ে যায়৷ মিডিয়া আইটেম আইডি অনন্যভাবে একটি মিডিয়া আইটেম সনাক্ত করে, যেমন একটি ফটো বা ব্যবহারকারীর লাইব্রেরির মধ্যে একটি ভিডিও।

মনে রাখবেন যে আপনার অ্যাপ্লিকেশনটি কোনও ব্যবহারকারীর ফটো বা ভিডিওকে দীর্ঘ সময়ের জন্য ক্যাশে করা উচিত নয়, তবে আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে, আপনি যতক্ষণ প্রয়োজন ততক্ষণ মিডিয়া আইটেম আইডি সংরক্ষণ বা ক্যাশে করতে পারেন৷ আপনার আরও মনে রাখা উচিত যে ব্যবহারকারীর ডেটা অ্যাক্সেস গোপনীয়তার বাধ্যবাধকতা দ্বারা নিয়ন্ত্রিত হয়।

প্রয়োজনীয় অনুমোদনের সুযোগ

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

  • photoslibrary.readonly ব্যবহারকারীর লাইব্রেরিতে সমস্ত মিডিয়া আইটেম অ্যাক্সেস করার অনুমতি দেয়৷
  • photoslibrary.readonly.appcreateddata শুধুমাত্র মিডিয়া আইটেমগুলিতে অ্যাক্সেসের অনুমতি দেয় যা অ্যাপ দ্বারা তৈরি করা হয়েছিল

মিডিয়া আইটেম

একটি mediaItem হল মিডিয়ার একটি উপস্থাপনা যেমন একটি ফটো বা ভিডিও যা Google ফটো লাইব্রেরিতে আপলোড করা হয়েছে৷ এটি একটি শীর্ষ-স্তরের বস্তু এবং এর বৈশিষ্ট্যগুলি অন্তর্নিহিত মিডিয়া প্রকারের উপর ভিত্তি করে পৃথক হতে পারে।

নিম্নলিখিত সারণী mediaItem বৈশিষ্ট্য তালিকাভুক্ত করে:

বৈশিষ্ট্য
id বস্তু সনাক্ত করতে ব্যবহৃত একটি স্থায়ী, স্থিতিশীল আইডি।
description মিডিয়া আইটেমের বর্ণনা যেমন Google Photos-এর ভিতরে দেখা যায়।
baseUrl কাঁচা বাইট অ্যাক্সেস করতে ব্যবহৃত. আরও তথ্যের জন্য, বেস ইউআরএল দেখুন।
productUrl

Google Photos-এর ভিতরে ছবির একটি লিঙ্ক। এই লিঙ্কটি বিকাশকারী দ্বারা খোলা যাবে না, শুধুমাত্র ব্যবহারকারীর দ্বারা। ইউআরএল লাইব্রেরিতে একটি মিডিয়া আইটেম নির্দেশ করে। যদি URLটি একটি অ্যালবাম অনুসন্ধান থেকে পুনরুদ্ধার করা হয় তবে এটি অ্যালবামের মধ্যে থাকা আইটেমটিকে নির্দেশ করে৷

mimeType মিডিয়ার ধরন সহজে সনাক্ত করতে সাহায্য করার জন্য মিডিয়া আইটেমের ধরন (উদাহরণস্বরূপ: image/jpg )।
filename Google Photos অ্যাপে (আইটেমের তথ্য বিভাগের মধ্যে) ব্যবহারকারীকে দেখানো মিডিয়া আইটেমের ফাইলের নাম।
mediaMetadata মিডিয়ার অন্তর্নিহিত প্রকারের উপর নির্ভর করে পরিবর্তিত হয়, যেমন photo বা video । পেলোড কমাতে, ফিল্ড মাস্ক ব্যবহার করা যেতে পারে।
contributorInfo

এই ক্ষেত্রটি শুধুমাত্র তখনই পপুলেট করা হয় যদি মিডিয়া আইটেমটি এই অ্যাপ দ্বারা তৈরি করা একটি শেয়ার করা অ্যালবামে থাকে এবং ব্যবহারকারী photoslibrary.sharing স্কোপ মঞ্জুর করে থাকে।

এই মিডিয়া আইটেম যোগ করা অবদানকারী সম্পর্কে তথ্য রয়েছে. আরও বিস্তারিত জানার জন্য, শেয়ার মিডিয়া দেখুন।

একটি মিডিয়া আইটেম পান

একটি মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItemId ব্যবহার করে mediaItems.get এ কল করুন। অনুরোধ একটি একক মিডিয়া আইটেম ফেরত.

mediaItem বৈশিষ্ট্য রয়েছে, যেমন আইডি, বিবরণ এবং URL। photo বা video অতিরিক্ত তথ্য ফাইলের মধ্যে থাকা মেটাডেটার উপর ভিত্তি করে। সব সম্পত্তি উপস্থিত নাও হতে পারে. ContributorInfo আইটেমগুলির জন্য মেটাডেটা ধারণ করে যা একটি শেয়ার করা অ্যালবামের অংশ। এই ক্ষেত্রটি শুধুমাত্র একটি শেয়ার করা অ্যালবামের বিষয়বস্তু তালিকাভুক্ত করার সময় অন্তর্ভুক্ত করা হয় যেখানে ব্যবহারকারী photoslibrary.sharing অনুমোদনের সুযোগ মঞ্জুর করেছেন।

মিডিয়া আইটেম একটি ভিডিও হলে, ভিডিও ফাইলটি প্রথমে প্রক্রিয়া করা আবশ্যক। 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"
  }
}

জাভা

ছবির সম্পত্তিতে ছবির আইটেমগুলির জন্য মেটাডেটা রয়েছে।

try {
  // Get a media item using its ID
  String mediaItemId = "...";
  MediaItem item = photosLibraryClient.getMediaItem(mediaItemId);
  // Get some properties from the retrieved media item
  String id = item.getId();
  String description = item.getDescription();
  String baseUrl = item.getBaseUrl();
  String productUrl = item.getProductUrl();
  // ...
  if (item.hasMediaMetadata()) {
    // The media item contains additional metadata, such as the height and width
    MediaMetadata metadata = item.getMediaMetadata();
    long height = metadata.getHeight();
    long width = metadata.getWidth();
    Timestamp creationTime = metadata.getCreationTime();
    // ...
    if (metadata.hasPhoto()) {
      // This media item is a photo and has additional photo metadata
      Photo photoMetadata = metadata.getPhoto();
      String cameraMake = photoMetadata.getCameraMake();
      String cameraModel = photoMetadata.getCameraModel();
      float aperture = photoMetadata.getApertureFNumber();
      int isoEquivalent = photoMetadata.getIsoEquivalent();
      // ...
    }
  }
  if (item.hasContributorInfo()) {
    // A user has contributed this media item  to a shared album
    ContributorInfo contributorInfo = item.getContributorInfo();
    String profilePictureBaseUrl = contributorInfo.getProfilePictureBaseUrl();
    String displayName = contributorInfo.getDisplayName();
  }
} catch (ApiException e) {
  // Handle error
}

ভিডিও সম্পত্তিতে ভিডিও আইটেমগুলির জন্য মেটাডেটা রয়েছে৷

try {
  // Get a media item using its ID
  String mediaItemId = "...";
  MediaItem item = photosLibraryClient.getMediaItem(mediaItemId);
  // Get some properties from the retrieved media item
  String id = item.getId();
  String description = item.getDescription();
  String baseUrl = item.getBaseUrl();
  String productUrl = item.getProductUrl();
  // ...
  if (item.hasMediaMetadata()) {
    // The media item contains additional metadata, such as the height and width
    MediaMetadata metadata = item.getMediaMetadata();
    long height = metadata.getHeight();
    long width = metadata.getWidth();
    Timestamp creationTime = metadata.getCreationTime();
    // ...

    if (metadata.hasVideo()) {
      // This media item is a video and has additional video metadata
      Video videoMetadata = metadata.getVideo();
      VideoProcessingStatus status = videoMetadata.getStatus();
      if (status.equals(VideoProcessingStatus.READY)) {
        // This video media item has been processed
        String cameraMake = videoMetadata.getCameraMake();
        String cameraModel = videoMetadata.getCameraModel();
        double fps = videoMetadata.getFps();
        // ...
      }
    }
  }

  if (item.hasContributorInfo()) {
    // A user has contributed this media item  to a shared album
    ContributorInfo contributorInfo = item.getContributorInfo();
    String profilePictureBaseUrl = contributorInfo.getProfilePictureBaseUrl();
    String displayName = contributorInfo.getDisplayName();
  }
} catch (ApiException e) {
  // Handle error
}

পিএইচপি

ছবির সম্পত্তিতে ছবির আইটেমগুলির জন্য মেটাডেটা রয়েছে।

try {
    // Get a media item using its ID
    $mediaItemId = "...";
    $item = $photosLibraryClient->getMediaItem($mediaItemId);
    // Get some properties from the retrieved media item
    $id = $item->getId();
    $description = $item->getDescription();
    $baseUrl = $item->getBaseUrl();
    $productUrl = $item->getProductUrl();
    // ...
    $metadata = $item->getMediaMetadata();
    if (!is_null($metadata)) {
        // The media item contains additional metadata, such as the height and width
        $height = $metadata->getHeight();
        $width = $metadata->getWidth();
        $creationTime = $metadata->getCreationTime();
        // ...
        $photoMetadata = $metadata->getPhoto();
        if (!is_null($photoMetadata)) {
            // This media item is a photo and has additional photo metadata
            $cameraMake = $photoMetadata->getCameraMake();
            $cameraModel = $photoMetadata->getCameraModel();
            $aperture = $photoMetadata->getApertureFNumber();
            $isoEquivalent = $photoMetadata->getIsoEquivalent();
            // ...
        }
    }
    $contributorInfo = $item->getContributorInfo();
    if (!is_null($contributorInfo)) {
        // A user has contributed this media item to a shared album
        $profilePictureBaseUrl = $contributorInfo->getProfilePictureBaseUrl();
        $displayName = $contributorInfo->getDisplayName();
    }
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

ভিডিও সম্পত্তিতে ভিডিও আইটেমগুলির জন্য মেটাডেটা রয়েছে৷

  try {
    // Get a media item using its ID
    $mediaItemId = "...";
    $item = $photosLibraryClient->getMediaItem($mediaItemId);
    // Get some properties from the retrieved media item
    $id = $item->getId();
    $description = $item->getDescription();
    $baseUrl = $item->getBaseUrl();
    $productUrl = $item->getProductUrl();
    // ...
    $metadata = $item->getMediaMetadata();
    if (!is_null($metadata)) {
        // The media item contains additional metadata, such as the height and width
        $height = $metadata->getHeight();
        $width = $metadata->getWidth();
        $creationTime = $metadata->getCreationTime();
        // ...
        $videoMetadata = $metadata->getVideo();
        if (!is_null($videoMetadata)) {
            // This media item is a video and has additional video metadata
            if (VideoProcessingStatus::READY == $videoMetadata->getStatus()) {
            // This video media item has been processed
                $cameraMake = $videoMetadata->getCameraMake();
                $cameraModel = $videoMetadata->getCameraModel();
                $fps = $videoMetadata->getFps();
                // ...
            }
        }
    }
    $contributorInfo = $item->getContributorInfo();
    if (!is_null($contributorInfo)) {
        // A user has contributed this media item to a shared album
        $profilePictureBaseUrl = $contributorInfo->getProfilePictureBaseUrl();
        $displayName = $contributorInfo->getDisplayName();
    }
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

একাধিক মিডিয়া আইটেম পান

তাদের শনাক্তকারীদের দ্বারা একাধিক মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItemId ব্যবহার করে mediaItems.batchGet কল করুন৷

অনুরোধটি অনুরোধে সরবরাহ করা মিডিয়া আইটেম শনাক্তকারীর ক্রম অনুসারে 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."
      }
    }
  ]
}

জাভা

try {
  // List of media item IDs to retrieve
  List<String> mediaItemIds = Arrays
      .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID", "INCORRECT_MEDIA_ITEM_ID");

  // Get a list of media items using their IDs
  BatchGetMediaItemsResponse response = photosLibraryClient
      .batchGetMediaItems(mediaItemIds);

  // Loop over each result
  for (MediaItemResult result : response.getMediaItemResultsList()) {

    // Each MediaItemresult contains a status and a media item
    if (result.hasMediaItem()) {
      // The media item was successfully retrieved, get some properties
      MediaItem item = result.getMediaItem();
      String id = item.getId();
      // ...
    } else {
      // If the media item is not set, an error occurred and the item could not be loaded
      // Check the status and handle the error
      Status status = result.getStatus();
      // ...
    }

  }
} catch (ApiException e) {
  // Handle error
}

পিএইচপি

try {

    // List of media item IDs to retrieve
    $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID", "INCORRECT_MEDIA_ITEM_ID"];

    // Get a list of media items using their IDs
    $response = $photosLibraryClient->batchGetMediaItems($mediaItemIds);

    // Loop over each result
    foreach ($response->getMediaItemResults() as $itemResult) {

        // Each MediaItemresult contains a status and a media item
        $mediaItem = $itemResult->getMediaItem();

        if(!is_null($mediaItem)){
            // The media item was successfully retrieved, get some properties
            $id = $mediaItem->getId();
            // ...
        } else {
            // If the media item is null, an error occurred and the item could not be loaded
        }
    }

} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

বেস ইউআরএল

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

বিভিন্ন ভিত্তি URL হল:

  • baseUrl : সরাসরি একটি ভিডিওর জন্য ফটো, থাম্বনেল অ্যাক্সেস করুন বা ভিডিও বাইট ডাউনলোড করুন।
  • coverPhotoBaseUrl : অ্যালবামের জন্য সরাসরি কভার ফটো অ্যাক্সেস করুন৷
  • profilePictureBaseUrl : সরাসরি mediaItem মালিকের প্রোফাইল ফটো অ্যাক্সেস করুন।

ছবির ভিত্তি URL

এখানে বিকল্পগুলির তালিকা রয়েছে যা আপনি ইমেজ বেস ইউআরএলগুলির সাথে ব্যবহার করতে পারেন:

প্যারামিটার
w , h

বর্ণনা

প্রস্থ, w এবং উচ্চতা, h প্যারামিটার।

একটি ইমেজ মিডিয়া আইটেম অ্যাক্সেস করতে, যেমন একটি ভিডিওর জন্য একটি ফটো বা একটি থাম্বনেইল, আপনাকে অবশ্যই আপনার অ্যাপ্লিকেশনে প্রদর্শন করার পরিকল্পনা করা মাত্রাগুলি নির্দিষ্ট করতে হবে (যাতে আকৃতির অনুপাত সংরক্ষণ করার সময় ছবিটি এই মাত্রাগুলিতে স্কেল করা যেতে পারে)৷ এটি করার জন্য, উদাহরণগুলিতে দেখানো হিসাবে আপনার প্রয়োজনীয় মাত্রাগুলির সাথে বেস ইউআরএল সংযুক্ত করুন৷

উদাহরণ:

base-url=wmax-width-hmax-height

এখানে 2048 পিক্সেলের চেয়ে বেশি চওড়া এবং 1024 পিক্সেলের বেশি লম্বা নয় এমন একটি মিডিয়া আইটেম প্রদর্শনের একটি উদাহরণ রয়েছে:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

বর্ণনা

ফসল, c প্যারামিটার।

আপনি যদি নির্দিষ্ট প্রস্থ এবং উচ্চতার মাত্রায় ইমেজটি ক্রপ করতে চান, তাহলে বাধ্যতামূলক w এবং h প্যারামিটারের সাথে ঐচ্ছিক -c প্যারামিটারের সাথে বেস ইউআরএল সংযুক্ত করুন।

আকার (পিক্সেলে) পরিসরে হওয়া উচিত [1, 16383]। যদি হয় ছবির প্রস্থ বা উচ্চতা, অনুরোধ করা মাপ ছাড়িয়ে যায়, ছবি ছোট করে ছোট করা হয় (আকৃতির অনুপাত বজায় রেখে)।

উদাহরণ:

base-url=wmax-width-hmax-height-c

এই উদাহরণে, অ্যাপ্লিকেশনটি একটি মিডিয়া আইটেম প্রদর্শন করে যা ঠিক 256 পিক্সেল চওড়া এবং 256 পিক্সেল উচ্চ, যেমন থাম্বনেইল:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

বর্ণনা

ডাউনলোড, d প্যারামিটার।

আপনি যদি অবস্থানের মেটাডেটা ব্যতীত সমস্ত Exif মেটাডেটা ধরে রেখে ইমেজ ডাউনলোড করতে চান, তাহলে d প্যারামিটারের সাথে বেস ইউআরএল সংযুক্ত করুন।

উদাহরণ:

base-url=d

এই উদাহরণে, অ্যাপ্লিকেশনটি অবস্থানের মেটাডেটা ব্যতীত সমস্ত মেটাডেটা সহ একটি চিত্র ডাউনলোড করে:

https://lh3.googleusercontent.com/p/Az....XabC=d

ভিডিও বেস ইউআরএল

ভিডিও বেস ইউআরএলগুলির সাথে আপনি ব্যবহার করতে পারেন এমন বিকল্পগুলির তালিকা এখানে রয়েছে:

প্যারামিটার
dv

বর্ণনা

একটি ভিডিও mediaItem বাইট অ্যাক্সেস করতে, ডাউনলোড ভিডিও, dv প্যারামিটারের সাথে baseUrl সংযুক্ত করুন।

ডিভি প্যারামিটারটি মূল ভিডিওর একটি উচ্চ মানের, ট্রান্সকোডেড সংস্করণের জন্য অনুরোধ করে। প্যারামিটারটি w এবং h প্যারামিটারের সাথে সামঞ্জস্যপূর্ণ নয়।

ভিডিও ডাউনলোডের জন্য বেস URL গুলি বাইট ফেরত পেতে কয়েক সেকেন্ড পর্যন্ত সময় নিতে পারে৷

এই প্যারামিটারটি ব্যবহার করার আগে, মিডিয়া আইটেমগুলির mediaMetadata.status ক্ষেত্রটি READY কিনা তা পরীক্ষা করুন। অন্যথায়, আপনার মিডিয়া আইটেম প্রক্রিয়াকরণ শেষ না হলে আপনি একটি ত্রুটি পেতে পারেন।

উদাহরণ:

base-url=dv

নিম্নলিখিত উদাহরণ আপনাকে দেখায় কিভাবে একটি ভিডিওর বাইট ডাউনলোড করতে হয়:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w , h , c , এবং d

বর্ণনা

ভিডিওর থাম্বনেইল অ্যাক্সেস করতে ইমেজ বেস ইউআরএল প্যারামিটার ব্যবহার করুন।

ডিফল্টরূপে, সমস্ত ভিডিও থাম্বনেইলে একটি প্লেব্যাক বোতামের একটি ওভারলে অন্তর্ভুক্ত থাকে। এই ওভারলে অপসারণ করতে -কোন প্যারামিটার দেখুন।

উদাহরণ:

উদাহরণের জন্য ইমেজ বেস ইউআরএল টেবিল পড়ুন।

no

বর্ণনা

থাম্বনেইল ওভারলে অপসারণ করুন, কোনো প্যারামিটার no

আপনি যদি কোনো প্লেব্যাক বোতামের ওভারলে ছাড়াই কোনো ভিডিওর থাম্বনেল পুনরুদ্ধার করতে চান, তাহলে কোনো প্যারামিটার ছাড়াই বেস ইউআরএল সংযুক্ত করুন।

নো প্যারামিটার অবশ্যই অন্তত একটি ইমেজ বেস url প্যারামিটারের সাথে ব্যবহার করা উচিত।

উদাহরণ:

base-url=wmax-width-hmax-height-no

নিম্নলিখিত উদাহরণটি একটি ভিডিও থাম্বনেইল প্রদর্শন করে যা ঠিক 1280 পিক্সেল চওড়া বাই 720 পিক্সেল উচ্চ এবং একটি প্লেব্যাক বোতাম ওভারলে অন্তর্ভুক্ত করে না:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

মোশন ফটো বেস ইউআরএল

মোশন ফটোতে ফটো এবং ভিডিও উভয় উপাদানই থাকে। আপনি মোশন ফটো baseUrl অনুরোধের জন্য ইমেজ বেস ইউআরএল বা ভিডিও বেস ইউআরএল থেকে প্যারামিটার ব্যবহার করতে পারেন।

প্যারামিটার
dv

বর্ণনা

একটি মোশন ফটো মিডিয়া আইটেমের ভিডিও উপাদান পুনরুদ্ধার করতে, dv প্যারামিটারটি ব্যবহার করুন যেমন আপনি ভিডিও বেস URL থেকে ডাউনলোড করতে চান।

w , h , c , এবং d

বর্ণনা

একটি মোশন ফটো মিডিয়া আইটেমের ফটো উপাদান পুনরুদ্ধার করতে, ইমেজ বেস URL- এর বিন্যাসটি ব্যবহার করুন।

,

একটি ফটো লাইব্রেরি বা অ্যালবামের বিষয়বস্তু তালিকাভুক্ত করার জন্য কল করার পরে, ফিরে আসা মিডিয়া আইটেমগুলি সংরক্ষণ করার পরিবর্তে, আপনার অ্যাপ্লিকেশনটি মিডিয়া আইটেমগুলির আইডি সংরক্ষণ করা উচিত৷ কারণ মিডিয়া আইটেমগুলির বিষয়বস্তু পরিবর্তিত হতে পারে এবং একটি নির্দিষ্ট সময়ের পরে, প্রতিক্রিয়াতে অন্তর্ভুক্ত URLগুলির মেয়াদ শেষ হয়ে যায়৷ মিডিয়া আইটেম আইডি অনন্যভাবে একটি মিডিয়া আইটেম সনাক্ত করে, যেমন একটি ফটো বা ব্যবহারকারীর লাইব্রেরির মধ্যে একটি ভিডিও।

মনে রাখবেন যে আপনার অ্যাপ্লিকেশনটি কোনও ব্যবহারকারীর ফটো বা ভিডিওকে দীর্ঘ সময়ের জন্য ক্যাশে করা উচিত নয়, তবে আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে, আপনি যতক্ষণ প্রয়োজন ততক্ষণ মিডিয়া আইটেম আইডি সংরক্ষণ বা ক্যাশে করতে পারেন৷ আপনার আরও মনে রাখা উচিত যে ব্যবহারকারীর ডেটা অ্যাক্সেস গোপনীয়তার বাধ্যবাধকতা দ্বারা নিয়ন্ত্রিত হয়।

প্রয়োজনীয় অনুমোদনের সুযোগ

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

  • photoslibrary.readonly ব্যবহারকারীর লাইব্রেরিতে সমস্ত মিডিয়া আইটেম অ্যাক্সেস করার অনুমতি দেয়৷
  • photoslibrary.readonly.appcreateddata শুধুমাত্র মিডিয়া আইটেমগুলিতে অ্যাক্সেসের অনুমতি দেয় যা অ্যাপ দ্বারা তৈরি করা হয়েছিল

মিডিয়া আইটেম

একটি mediaItem হল মিডিয়ার একটি উপস্থাপনা যেমন একটি ফটো বা ভিডিও যা Google ফটো লাইব্রেরিতে আপলোড করা হয়েছে৷ এটি একটি শীর্ষ-স্তরের বস্তু এবং এর বৈশিষ্ট্যগুলি অন্তর্নিহিত মিডিয়া প্রকারের উপর ভিত্তি করে পৃথক হতে পারে।

নিম্নলিখিত সারণী mediaItem বৈশিষ্ট্য তালিকাভুক্ত করে:

বৈশিষ্ট্য
id বস্তু সনাক্ত করতে ব্যবহৃত একটি স্থায়ী, স্থিতিশীল আইডি।
description মিডিয়া আইটেমের বর্ণনা যেমন Google Photos-এর ভিতরে দেখা যায়।
baseUrl কাঁচা বাইট অ্যাক্সেস করতে ব্যবহৃত. আরও তথ্যের জন্য, বেস ইউআরএল দেখুন।
productUrl

Google Photos-এর ভিতরে ছবির একটি লিঙ্ক। এই লিঙ্কটি বিকাশকারী দ্বারা খোলা যাবে না, শুধুমাত্র ব্যবহারকারীর দ্বারা। ইউআরএল লাইব্রেরিতে একটি মিডিয়া আইটেম নির্দেশ করে। যদি URLটি একটি অ্যালবাম অনুসন্ধান থেকে পুনরুদ্ধার করা হয় তবে এটি অ্যালবামের মধ্যে থাকা আইটেমটিকে নির্দেশ করে৷

mimeType মিডিয়ার ধরন সহজে সনাক্ত করতে সাহায্য করার জন্য মিডিয়া আইটেমের ধরন (উদাহরণস্বরূপ: image/jpg )।
filename Google Photos অ্যাপে (আইটেমের তথ্য বিভাগের মধ্যে) ব্যবহারকারীকে দেখানো মিডিয়া আইটেমের ফাইলের নাম।
mediaMetadata মিডিয়ার অন্তর্নিহিত প্রকারের উপর নির্ভর করে পরিবর্তিত হয়, যেমন photo বা video । পেলোড কমাতে, ফিল্ড মাস্ক ব্যবহার করা যেতে পারে।
contributorInfo

এই ক্ষেত্রটি শুধুমাত্র তখনই পপুলেট করা হয় যদি মিডিয়া আইটেমটি এই অ্যাপ দ্বারা তৈরি করা একটি শেয়ার করা অ্যালবামে থাকে এবং ব্যবহারকারী photoslibrary.sharing স্কোপ মঞ্জুর করে থাকে।

এই মিডিয়া আইটেম যোগ করা অবদানকারী সম্পর্কে তথ্য রয়েছে. আরও বিস্তারিত জানার জন্য, শেয়ার মিডিয়া দেখুন।

একটি মিডিয়া আইটেম পান

একটি মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItemId ব্যবহার করে mediaItems.get এ কল করুন। অনুরোধ একটি একক মিডিয়া আইটেম ফেরত.

mediaItem বৈশিষ্ট্য রয়েছে, যেমন আইডি, বিবরণ এবং URL। photo বা video অতিরিক্ত তথ্য ফাইলের মধ্যে থাকা মেটাডেটার উপর ভিত্তি করে। সব সম্পত্তি উপস্থিত নাও হতে পারে. ContributorInfo আইটেমগুলির জন্য মেটাডেটা ধারণ করে যা একটি শেয়ার করা অ্যালবামের অংশ। এই ক্ষেত্রটি শুধুমাত্র একটি শেয়ার করা অ্যালবামের বিষয়বস্তু তালিকাভুক্ত করার সময় অন্তর্ভুক্ত করা হয় যেখানে ব্যবহারকারী photoslibrary.sharing অনুমোদনের সুযোগ মঞ্জুর করেছেন।

মিডিয়া আইটেম একটি ভিডিও হলে, ভিডিও ফাইলটি প্রথমে প্রক্রিয়া করা আবশ্যক। 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"
  }
}

জাভা

ছবির সম্পত্তিতে ছবির আইটেমগুলির জন্য মেটাডেটা রয়েছে।

try {
  // Get a media item using its ID
  String mediaItemId = "...";
  MediaItem item = photosLibraryClient.getMediaItem(mediaItemId);
  // Get some properties from the retrieved media item
  String id = item.getId();
  String description = item.getDescription();
  String baseUrl = item.getBaseUrl();
  String productUrl = item.getProductUrl();
  // ...
  if (item.hasMediaMetadata()) {
    // The media item contains additional metadata, such as the height and width
    MediaMetadata metadata = item.getMediaMetadata();
    long height = metadata.getHeight();
    long width = metadata.getWidth();
    Timestamp creationTime = metadata.getCreationTime();
    // ...
    if (metadata.hasPhoto()) {
      // This media item is a photo and has additional photo metadata
      Photo photoMetadata = metadata.getPhoto();
      String cameraMake = photoMetadata.getCameraMake();
      String cameraModel = photoMetadata.getCameraModel();
      float aperture = photoMetadata.getApertureFNumber();
      int isoEquivalent = photoMetadata.getIsoEquivalent();
      // ...
    }
  }
  if (item.hasContributorInfo()) {
    // A user has contributed this media item  to a shared album
    ContributorInfo contributorInfo = item.getContributorInfo();
    String profilePictureBaseUrl = contributorInfo.getProfilePictureBaseUrl();
    String displayName = contributorInfo.getDisplayName();
  }
} catch (ApiException e) {
  // Handle error
}

ভিডিও সম্পত্তিতে ভিডিও আইটেমগুলির জন্য মেটাডেটা রয়েছে৷

try {
  // Get a media item using its ID
  String mediaItemId = "...";
  MediaItem item = photosLibraryClient.getMediaItem(mediaItemId);
  // Get some properties from the retrieved media item
  String id = item.getId();
  String description = item.getDescription();
  String baseUrl = item.getBaseUrl();
  String productUrl = item.getProductUrl();
  // ...
  if (item.hasMediaMetadata()) {
    // The media item contains additional metadata, such as the height and width
    MediaMetadata metadata = item.getMediaMetadata();
    long height = metadata.getHeight();
    long width = metadata.getWidth();
    Timestamp creationTime = metadata.getCreationTime();
    // ...

    if (metadata.hasVideo()) {
      // This media item is a video and has additional video metadata
      Video videoMetadata = metadata.getVideo();
      VideoProcessingStatus status = videoMetadata.getStatus();
      if (status.equals(VideoProcessingStatus.READY)) {
        // This video media item has been processed
        String cameraMake = videoMetadata.getCameraMake();
        String cameraModel = videoMetadata.getCameraModel();
        double fps = videoMetadata.getFps();
        // ...
      }
    }
  }

  if (item.hasContributorInfo()) {
    // A user has contributed this media item  to a shared album
    ContributorInfo contributorInfo = item.getContributorInfo();
    String profilePictureBaseUrl = contributorInfo.getProfilePictureBaseUrl();
    String displayName = contributorInfo.getDisplayName();
  }
} catch (ApiException e) {
  // Handle error
}

পিএইচপি

ছবির সম্পত্তিতে ছবির আইটেমগুলির জন্য মেটাডেটা রয়েছে।

try {
    // Get a media item using its ID
    $mediaItemId = "...";
    $item = $photosLibraryClient->getMediaItem($mediaItemId);
    // Get some properties from the retrieved media item
    $id = $item->getId();
    $description = $item->getDescription();
    $baseUrl = $item->getBaseUrl();
    $productUrl = $item->getProductUrl();
    // ...
    $metadata = $item->getMediaMetadata();
    if (!is_null($metadata)) {
        // The media item contains additional metadata, such as the height and width
        $height = $metadata->getHeight();
        $width = $metadata->getWidth();
        $creationTime = $metadata->getCreationTime();
        // ...
        $photoMetadata = $metadata->getPhoto();
        if (!is_null($photoMetadata)) {
            // This media item is a photo and has additional photo metadata
            $cameraMake = $photoMetadata->getCameraMake();
            $cameraModel = $photoMetadata->getCameraModel();
            $aperture = $photoMetadata->getApertureFNumber();
            $isoEquivalent = $photoMetadata->getIsoEquivalent();
            // ...
        }
    }
    $contributorInfo = $item->getContributorInfo();
    if (!is_null($contributorInfo)) {
        // A user has contributed this media item to a shared album
        $profilePictureBaseUrl = $contributorInfo->getProfilePictureBaseUrl();
        $displayName = $contributorInfo->getDisplayName();
    }
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

ভিডিও সম্পত্তিতে ভিডিও আইটেমগুলির জন্য মেটাডেটা রয়েছে৷

  try {
    // Get a media item using its ID
    $mediaItemId = "...";
    $item = $photosLibraryClient->getMediaItem($mediaItemId);
    // Get some properties from the retrieved media item
    $id = $item->getId();
    $description = $item->getDescription();
    $baseUrl = $item->getBaseUrl();
    $productUrl = $item->getProductUrl();
    // ...
    $metadata = $item->getMediaMetadata();
    if (!is_null($metadata)) {
        // The media item contains additional metadata, such as the height and width
        $height = $metadata->getHeight();
        $width = $metadata->getWidth();
        $creationTime = $metadata->getCreationTime();
        // ...
        $videoMetadata = $metadata->getVideo();
        if (!is_null($videoMetadata)) {
            // This media item is a video and has additional video metadata
            if (VideoProcessingStatus::READY == $videoMetadata->getStatus()) {
            // This video media item has been processed
                $cameraMake = $videoMetadata->getCameraMake();
                $cameraModel = $videoMetadata->getCameraModel();
                $fps = $videoMetadata->getFps();
                // ...
            }
        }
    }
    $contributorInfo = $item->getContributorInfo();
    if (!is_null($contributorInfo)) {
        // A user has contributed this media item to a shared album
        $profilePictureBaseUrl = $contributorInfo->getProfilePictureBaseUrl();
        $displayName = $contributorInfo->getDisplayName();
    }
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

একাধিক মিডিয়া আইটেম পান

তাদের শনাক্তকারীদের দ্বারা একাধিক মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItemId ব্যবহার করে mediaItems.batchGet কল করুন৷

অনুরোধটি অনুরোধে সরবরাহ করা মিডিয়া আইটেম শনাক্তকারীর ক্রম অনুসারে 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."
      }
    }
  ]
}

জাভা

try {
  // List of media item IDs to retrieve
  List<String> mediaItemIds = Arrays
      .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID", "INCORRECT_MEDIA_ITEM_ID");

  // Get a list of media items using their IDs
  BatchGetMediaItemsResponse response = photosLibraryClient
      .batchGetMediaItems(mediaItemIds);

  // Loop over each result
  for (MediaItemResult result : response.getMediaItemResultsList()) {

    // Each MediaItemresult contains a status and a media item
    if (result.hasMediaItem()) {
      // The media item was successfully retrieved, get some properties
      MediaItem item = result.getMediaItem();
      String id = item.getId();
      // ...
    } else {
      // If the media item is not set, an error occurred and the item could not be loaded
      // Check the status and handle the error
      Status status = result.getStatus();
      // ...
    }

  }
} catch (ApiException e) {
  // Handle error
}

পিএইচপি

try {

    // List of media item IDs to retrieve
    $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID", "INCORRECT_MEDIA_ITEM_ID"];

    // Get a list of media items using their IDs
    $response = $photosLibraryClient->batchGetMediaItems($mediaItemIds);

    // Loop over each result
    foreach ($response->getMediaItemResults() as $itemResult) {

        // Each MediaItemresult contains a status and a media item
        $mediaItem = $itemResult->getMediaItem();

        if(!is_null($mediaItem)){
            // The media item was successfully retrieved, get some properties
            $id = $mediaItem->getId();
            // ...
        } else {
            // If the media item is null, an error occurred and the item could not be loaded
        }
    }

} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

বেস ইউআরএল

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

বিভিন্ন ভিত্তি URL হল:

  • baseUrl : সরাসরি একটি ভিডিওর জন্য ফটো, থাম্বনেল অ্যাক্সেস করুন বা ভিডিও বাইট ডাউনলোড করুন।
  • coverPhotoBaseUrl : অ্যালবামের জন্য সরাসরি কভার ফটো অ্যাক্সেস করুন৷
  • profilePictureBaseUrl : সরাসরি mediaItem মালিকের প্রোফাইল ফটো অ্যাক্সেস করুন।

ছবির ভিত্তি URL

এখানে বিকল্পগুলির তালিকা রয়েছে যা আপনি ইমেজ বেস ইউআরএলগুলির সাথে ব্যবহার করতে পারেন:

প্যারামিটার
w , h

বর্ণনা

প্রস্থ, w এবং উচ্চতা, h প্যারামিটার।

একটি ইমেজ মিডিয়া আইটেম অ্যাক্সেস করতে, যেমন একটি ভিডিওর জন্য একটি ফটো বা একটি থাম্বনেইল, আপনাকে অবশ্যই আপনার অ্যাপ্লিকেশনে প্রদর্শন করার পরিকল্পনা করা মাত্রাগুলি নির্দিষ্ট করতে হবে (যাতে আকৃতির অনুপাত সংরক্ষণ করার সময় ছবিটি এই মাত্রাগুলিতে স্কেল করা যেতে পারে)৷ এটি করার জন্য, উদাহরণগুলিতে দেখানো হিসাবে আপনার প্রয়োজনীয় মাত্রাগুলির সাথে বেস ইউআরএল সংযুক্ত করুন৷

উদাহরণ:

base-url=wmax-width-hmax-height

এখানে 2048 পিক্সেলের চেয়ে বেশি চওড়া এবং 1024 পিক্সেলের বেশি লম্বা নয় এমন একটি মিডিয়া আইটেম প্রদর্শনের একটি উদাহরণ রয়েছে:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

বর্ণনা

ফসল, c প্যারামিটার।

আপনি যদি নির্দিষ্ট প্রস্থ এবং উচ্চতার মাত্রায় ইমেজটি ক্রপ করতে চান, তাহলে বাধ্যতামূলক w এবং h প্যারামিটারের সাথে ঐচ্ছিক -c প্যারামিটারের সাথে বেস ইউআরএল সংযুক্ত করুন।

আকার (পিক্সেলে) পরিসরে হওয়া উচিত [1, 16383]। যদি হয় ছবির প্রস্থ বা উচ্চতা, অনুরোধ করা মাপ ছাড়িয়ে যায়, ছবি ছোট করে ছোট করা হয় (আকৃতির অনুপাত বজায় রেখে)।

উদাহরণ:

base-url=wmax-width-hmax-height-c

এই উদাহরণে, অ্যাপ্লিকেশনটি একটি মিডিয়া আইটেম প্রদর্শন করে যা ঠিক 256 পিক্সেল চওড়া এবং 256 পিক্সেল উচ্চ, যেমন থাম্বনেইল:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

বর্ণনা

ডাউনলোড, d প্যারামিটার।

আপনি যদি অবস্থানের মেটাডেটা ব্যতীত সমস্ত Exif মেটাডেটা ধরে রেখে ইমেজ ডাউনলোড করতে চান, তাহলে d প্যারামিটারের সাথে বেস ইউআরএল সংযুক্ত করুন।

উদাহরণ:

base-url=d

এই উদাহরণে, অ্যাপ্লিকেশনটি অবস্থানের মেটাডেটা ব্যতীত সমস্ত মেটাডেটা সহ একটি চিত্র ডাউনলোড করে:

https://lh3.googleusercontent.com/p/Az....XabC=d

ভিডিও বেস ইউআরএল

ভিডিও বেস ইউআরএলগুলির সাথে আপনি ব্যবহার করতে পারেন এমন বিকল্পগুলির তালিকা এখানে রয়েছে:

প্যারামিটার
dv

বর্ণনা

একটি ভিডিও mediaItem বাইট অ্যাক্সেস করতে, ডাউনলোড ভিডিও, dv প্যারামিটারের সাথে baseUrl সংযুক্ত করুন।

ডিভি প্যারামিটারটি মূল ভিডিওর একটি উচ্চ মানের, ট্রান্সকোডেড সংস্করণের জন্য অনুরোধ করে। প্যারামিটারটি w এবং h প্যারামিটারের সাথে সামঞ্জস্যপূর্ণ নয়।

ভিডিও ডাউনলোডের জন্য বেস URL গুলি বাইট ফেরত পেতে কয়েক সেকেন্ড পর্যন্ত সময় নিতে পারে৷

এই প্যারামিটারটি ব্যবহার করার আগে, মিডিয়া আইটেমগুলির mediaMetadata.status ক্ষেত্রটি READY কিনা তা পরীক্ষা করুন। অন্যথায়, আপনার মিডিয়া আইটেম প্রক্রিয়াকরণ শেষ না হলে আপনি একটি ত্রুটি পেতে পারেন।

উদাহরণ:

base-url=dv

নিম্নলিখিত উদাহরণ আপনাকে দেখায় কিভাবে একটি ভিডিওর বাইট ডাউনলোড করতে হয়:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w , h , c , এবং d

বর্ণনা

ভিডিওর থাম্বনেইল অ্যাক্সেস করতে ইমেজ বেস ইউআরএল প্যারামিটার ব্যবহার করুন।

ডিফল্টরূপে, সমস্ত ভিডিও থাম্বনেইলে একটি প্লেব্যাক বোতামের একটি ওভারলে অন্তর্ভুক্ত থাকে। এই ওভারলে অপসারণ করতে -কোন প্যারামিটার দেখুন।

উদাহরণ:

উদাহরণের জন্য ইমেজ বেস ইউআরএল টেবিল পড়ুন।

no

বর্ণনা

থাম্বনেইল ওভারলে অপসারণ করুন, কোনো প্যারামিটার no

আপনি যদি কোনো প্লেব্যাক বোতামের ওভারলে ছাড়াই কোনো ভিডিওর থাম্বনেল পুনরুদ্ধার করতে চান, তাহলে কোনো প্যারামিটার ছাড়াই বেস ইউআরএল সংযুক্ত করুন।

নো প্যারামিটার অবশ্যই অন্তত একটি ইমেজ বেস url প্যারামিটারের সাথে ব্যবহার করা উচিত।

উদাহরণ:

base-url=wmax-width-hmax-height-no

নিম্নলিখিত উদাহরণটি একটি ভিডিও থাম্বনেইল প্রদর্শন করে যা ঠিক 1280 পিক্সেল চওড়া বাই 720 পিক্সেল উচ্চ এবং একটি প্লেব্যাক বোতাম ওভারলে অন্তর্ভুক্ত করে না:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

মোশন ফটো বেস ইউআরএল

মোশন ফটোতে ফটো এবং ভিডিও উভয় উপাদানই থাকে। আপনি মোশন ফটো baseUrl অনুরোধের জন্য ইমেজ বেস ইউআরএল বা ভিডিও বেস ইউআরএল থেকে প্যারামিটার ব্যবহার করতে পারেন।

প্যারামিটার
dv

বর্ণনা

একটি মোশন ফটো মিডিয়া আইটেমের ভিডিও উপাদান পুনরুদ্ধার করতে, dv প্যারামিটারটি ব্যবহার করুন যেমন আপনি ভিডিও বেস URL থেকে ডাউনলোড করতে চান।

w , h , c , এবং d

বর্ণনা

একটি মোশন ফটো মিডিয়া আইটেমের ফটো উপাদান পুনরুদ্ধার করতে, ইমেজ বেস URL- এর বিন্যাসটি ব্যবহার করুন।

,

একটি ফটো লাইব্রেরি বা অ্যালবামের বিষয়বস্তু তালিকাভুক্ত করার জন্য কল করার পরে, ফিরে আসা মিডিয়া আইটেমগুলি সংরক্ষণ করার পরিবর্তে, আপনার অ্যাপ্লিকেশনটি মিডিয়া আইটেমগুলির আইডি সংরক্ষণ করা উচিত৷ কারণ মিডিয়া আইটেমগুলির বিষয়বস্তু পরিবর্তিত হতে পারে এবং একটি নির্দিষ্ট সময়ের পরে, প্রতিক্রিয়াতে অন্তর্ভুক্ত URLগুলির মেয়াদ শেষ হয়ে যায়৷ মিডিয়া আইটেম আইডি অনন্যভাবে একটি মিডিয়া আইটেম সনাক্ত করে, যেমন একটি ফটো বা ব্যবহারকারীর লাইব্রেরির মধ্যে একটি ভিডিও।

মনে রাখবেন যে আপনার অ্যাপ্লিকেশনটি কোনও ব্যবহারকারীর ফটো বা ভিডিওকে দীর্ঘ সময়ের জন্য ক্যাশে করা উচিত নয়, তবে আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে, আপনি যতক্ষণ প্রয়োজন ততক্ষণ মিডিয়া আইটেম আইডি সংরক্ষণ বা ক্যাশে করতে পারেন৷ আপনার আরও মনে রাখা উচিত যে ব্যবহারকারীর ডেটা অ্যাক্সেস গোপনীয়তার বাধ্যবাধকতা দ্বারা নিয়ন্ত্রিত হয়।

প্রয়োজনীয় অনুমোদনের সুযোগ

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

  • photoslibrary.readonly ব্যবহারকারীর লাইব্রেরিতে সমস্ত মিডিয়া আইটেম অ্যাক্সেস করার অনুমতি দেয়৷
  • photoslibrary.readonly.appcreateddata শুধুমাত্র মিডিয়া আইটেমগুলিতে অ্যাক্সেসের অনুমতি দেয় যা অ্যাপ দ্বারা তৈরি করা হয়েছিল

মিডিয়া আইটেম

একটি mediaItem হল মিডিয়ার একটি উপস্থাপনা যেমন একটি ফটো বা ভিডিও যা Google ফটো লাইব্রেরিতে আপলোড করা হয়েছে৷ এটি একটি শীর্ষ-স্তরের বস্তু এবং এর বৈশিষ্ট্যগুলি অন্তর্নিহিত মিডিয়া প্রকারের উপর ভিত্তি করে পৃথক হতে পারে।

নিম্নলিখিত সারণী mediaItem বৈশিষ্ট্য তালিকাভুক্ত করে:

বৈশিষ্ট্য
id বস্তু সনাক্ত করতে ব্যবহৃত একটি স্থায়ী, স্থিতিশীল আইডি।
description মিডিয়া আইটেমের বর্ণনা যেমন Google Photos-এর ভিতরে দেখা যায়।
baseUrl কাঁচা বাইট অ্যাক্সেস করতে ব্যবহৃত. আরও তথ্যের জন্য, বেস ইউআরএল দেখুন।
productUrl

Google Photos-এর ভিতরে ছবির একটি লিঙ্ক। এই লিঙ্কটি বিকাশকারী দ্বারা খোলা যাবে না, শুধুমাত্র ব্যবহারকারীর দ্বারা। ইউআরএল লাইব্রেরিতে একটি মিডিয়া আইটেম নির্দেশ করে। যদি URLটি একটি অ্যালবাম অনুসন্ধান থেকে পুনরুদ্ধার করা হয় তবে এটি অ্যালবামের মধ্যে থাকা আইটেমটিকে নির্দেশ করে৷

mimeType মিডিয়ার ধরন সহজে সনাক্ত করতে সাহায্য করার জন্য মিডিয়া আইটেমের ধরন (উদাহরণস্বরূপ: image/jpg )।
filename Google Photos অ্যাপে (আইটেমের তথ্য বিভাগের মধ্যে) ব্যবহারকারীকে দেখানো মিডিয়া আইটেমের ফাইলের নাম।
mediaMetadata মিডিয়ার অন্তর্নিহিত প্রকারের উপর নির্ভর করে পরিবর্তিত হয়, যেমন photo বা video । পেলোড কমাতে, ফিল্ড মাস্ক ব্যবহার করা যেতে পারে।
contributorInfo

এই ক্ষেত্রটি শুধুমাত্র তখনই পপুলেট করা হয় যদি মিডিয়া আইটেমটি এই অ্যাপ দ্বারা তৈরি করা একটি শেয়ার করা অ্যালবামে থাকে এবং ব্যবহারকারী photoslibrary.sharing স্কোপ মঞ্জুর করে থাকে।

এই মিডিয়া আইটেম যোগ করা অবদানকারী সম্পর্কে তথ্য রয়েছে. আরও বিস্তারিত জানার জন্য, শেয়ার মিডিয়া দেখুন।

একটি মিডিয়া আইটেম পান

একটি মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItemId ব্যবহার করে mediaItems.get এ কল করুন। অনুরোধ একটি একক মিডিয়া আইটেম ফেরত.

mediaItem বৈশিষ্ট্য রয়েছে, যেমন আইডি, বিবরণ এবং URL। photo বা video অতিরিক্ত তথ্য ফাইলের মধ্যে থাকা মেটাডেটার উপর ভিত্তি করে। সব সম্পত্তি উপস্থিত নাও হতে পারে. ContributorInfo আইটেমগুলির জন্য মেটাডেটা ধারণ করে যা একটি শেয়ার করা অ্যালবামের অংশ। এই ক্ষেত্রটি শুধুমাত্র একটি শেয়ার করা অ্যালবামের বিষয়বস্তু তালিকাভুক্ত করার সময় অন্তর্ভুক্ত করা হয় যেখানে ব্যবহারকারী photoslibrary.sharing অনুমোদনের সুযোগ মঞ্জুর করেছেন।

মিডিয়া আইটেম একটি ভিডিও হলে, ভিডিও ফাইলটি প্রথমে প্রক্রিয়া করা আবশ্যক। 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"
  }
}

জাভা

ছবির সম্পত্তিতে ছবির আইটেমগুলির জন্য মেটাডেটা রয়েছে।

try {
  // Get a media item using its ID
  String mediaItemId = "...";
  MediaItem item = photosLibraryClient.getMediaItem(mediaItemId);
  // Get some properties from the retrieved media item
  String id = item.getId();
  String description = item.getDescription();
  String baseUrl = item.getBaseUrl();
  String productUrl = item.getProductUrl();
  // ...
  if (item.hasMediaMetadata()) {
    // The media item contains additional metadata, such as the height and width
    MediaMetadata metadata = item.getMediaMetadata();
    long height = metadata.getHeight();
    long width = metadata.getWidth();
    Timestamp creationTime = metadata.getCreationTime();
    // ...
    if (metadata.hasPhoto()) {
      // This media item is a photo and has additional photo metadata
      Photo photoMetadata = metadata.getPhoto();
      String cameraMake = photoMetadata.getCameraMake();
      String cameraModel = photoMetadata.getCameraModel();
      float aperture = photoMetadata.getApertureFNumber();
      int isoEquivalent = photoMetadata.getIsoEquivalent();
      // ...
    }
  }
  if (item.hasContributorInfo()) {
    // A user has contributed this media item  to a shared album
    ContributorInfo contributorInfo = item.getContributorInfo();
    String profilePictureBaseUrl = contributorInfo.getProfilePictureBaseUrl();
    String displayName = contributorInfo.getDisplayName();
  }
} catch (ApiException e) {
  // Handle error
}

ভিডিও সম্পত্তিতে ভিডিও আইটেমগুলির জন্য মেটাডেটা রয়েছে৷

try {
  // Get a media item using its ID
  String mediaItemId = "...";
  MediaItem item = photosLibraryClient.getMediaItem(mediaItemId);
  // Get some properties from the retrieved media item
  String id = item.getId();
  String description = item.getDescription();
  String baseUrl = item.getBaseUrl();
  String productUrl = item.getProductUrl();
  // ...
  if (item.hasMediaMetadata()) {
    // The media item contains additional metadata, such as the height and width
    MediaMetadata metadata = item.getMediaMetadata();
    long height = metadata.getHeight();
    long width = metadata.getWidth();
    Timestamp creationTime = metadata.getCreationTime();
    // ...

    if (metadata.hasVideo()) {
      // This media item is a video and has additional video metadata
      Video videoMetadata = metadata.getVideo();
      VideoProcessingStatus status = videoMetadata.getStatus();
      if (status.equals(VideoProcessingStatus.READY)) {
        // This video media item has been processed
        String cameraMake = videoMetadata.getCameraMake();
        String cameraModel = videoMetadata.getCameraModel();
        double fps = videoMetadata.getFps();
        // ...
      }
    }
  }

  if (item.hasContributorInfo()) {
    // A user has contributed this media item  to a shared album
    ContributorInfo contributorInfo = item.getContributorInfo();
    String profilePictureBaseUrl = contributorInfo.getProfilePictureBaseUrl();
    String displayName = contributorInfo.getDisplayName();
  }
} catch (ApiException e) {
  // Handle error
}

পিএইচপি

ছবির সম্পত্তিতে ছবির আইটেমগুলির জন্য মেটাডেটা রয়েছে।

try {
    // Get a media item using its ID
    $mediaItemId = "...";
    $item = $photosLibraryClient->getMediaItem($mediaItemId);
    // Get some properties from the retrieved media item
    $id = $item->getId();
    $description = $item->getDescription();
    $baseUrl = $item->getBaseUrl();
    $productUrl = $item->getProductUrl();
    // ...
    $metadata = $item->getMediaMetadata();
    if (!is_null($metadata)) {
        // The media item contains additional metadata, such as the height and width
        $height = $metadata->getHeight();
        $width = $metadata->getWidth();
        $creationTime = $metadata->getCreationTime();
        // ...
        $photoMetadata = $metadata->getPhoto();
        if (!is_null($photoMetadata)) {
            // This media item is a photo and has additional photo metadata
            $cameraMake = $photoMetadata->getCameraMake();
            $cameraModel = $photoMetadata->getCameraModel();
            $aperture = $photoMetadata->getApertureFNumber();
            $isoEquivalent = $photoMetadata->getIsoEquivalent();
            // ...
        }
    }
    $contributorInfo = $item->getContributorInfo();
    if (!is_null($contributorInfo)) {
        // A user has contributed this media item to a shared album
        $profilePictureBaseUrl = $contributorInfo->getProfilePictureBaseUrl();
        $displayName = $contributorInfo->getDisplayName();
    }
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

ভিডিও সম্পত্তিতে ভিডিও আইটেমগুলির জন্য মেটাডেটা রয়েছে৷

  try {
    // Get a media item using its ID
    $mediaItemId = "...";
    $item = $photosLibraryClient->getMediaItem($mediaItemId);
    // Get some properties from the retrieved media item
    $id = $item->getId();
    $description = $item->getDescription();
    $baseUrl = $item->getBaseUrl();
    $productUrl = $item->getProductUrl();
    // ...
    $metadata = $item->getMediaMetadata();
    if (!is_null($metadata)) {
        // The media item contains additional metadata, such as the height and width
        $height = $metadata->getHeight();
        $width = $metadata->getWidth();
        $creationTime = $metadata->getCreationTime();
        // ...
        $videoMetadata = $metadata->getVideo();
        if (!is_null($videoMetadata)) {
            // This media item is a video and has additional video metadata
            if (VideoProcessingStatus::READY == $videoMetadata->getStatus()) {
            // This video media item has been processed
                $cameraMake = $videoMetadata->getCameraMake();
                $cameraModel = $videoMetadata->getCameraModel();
                $fps = $videoMetadata->getFps();
                // ...
            }
        }
    }
    $contributorInfo = $item->getContributorInfo();
    if (!is_null($contributorInfo)) {
        // A user has contributed this media item to a shared album
        $profilePictureBaseUrl = $contributorInfo->getProfilePictureBaseUrl();
        $displayName = $contributorInfo->getDisplayName();
    }
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

একাধিক মিডিয়া আইটেম পান

তাদের শনাক্তকারীদের দ্বারা একাধিক মিডিয়া আইটেম পুনরুদ্ধার করতে, mediaItemId ব্যবহার করে mediaItems.batchGet কল করুন৷

অনুরোধটি অনুরোধে সরবরাহ করা মিডিয়া আইটেম শনাক্তকারীর ক্রম অনুসারে 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."
      }
    }
  ]
}

জাভা

try {
  // List of media item IDs to retrieve
  List<String> mediaItemIds = Arrays
      .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID", "INCORRECT_MEDIA_ITEM_ID");

  // Get a list of media items using their IDs
  BatchGetMediaItemsResponse response = photosLibraryClient
      .batchGetMediaItems(mediaItemIds);

  // Loop over each result
  for (MediaItemResult result : response.getMediaItemResultsList()) {

    // Each MediaItemresult contains a status and a media item
    if (result.hasMediaItem()) {
      // The media item was successfully retrieved, get some properties
      MediaItem item = result.getMediaItem();
      String id = item.getId();
      // ...
    } else {
      // If the media item is not set, an error occurred and the item could not be loaded
      // Check the status and handle the error
      Status status = result.getStatus();
      // ...
    }

  }
} catch (ApiException e) {
  // Handle error
}

পিএইচপি

try {

    // List of media item IDs to retrieve
    $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID", "INCORRECT_MEDIA_ITEM_ID"];

    // Get a list of media items using their IDs
    $response = $photosLibraryClient->batchGetMediaItems($mediaItemIds);

    // Loop over each result
    foreach ($response->getMediaItemResults() as $itemResult) {

        // Each MediaItemresult contains a status and a media item
        $mediaItem = $itemResult->getMediaItem();

        if(!is_null($mediaItem)){
            // The media item was successfully retrieved, get some properties
            $id = $mediaItem->getId();
            // ...
        } else {
            // If the media item is null, an error occurred and the item could not be loaded
        }
    }

} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

বেস ইউআরএল

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

বিভিন্ন ভিত্তি URL হল:

  • baseUrl : সরাসরি একটি ভিডিওর জন্য ফটো, থাম্বনেল অ্যাক্সেস করুন বা ভিডিও বাইট ডাউনলোড করুন।
  • coverPhotoBaseUrl : অ্যালবামের জন্য সরাসরি কভার ফটো অ্যাক্সেস করুন৷
  • profilePictureBaseUrl : সরাসরি mediaItem মালিকের প্রোফাইল ফটো অ্যাক্সেস করুন।

ছবির ভিত্তি URL

এখানে বিকল্পগুলির তালিকা রয়েছে যা আপনি ইমেজ বেস ইউআরএলগুলির সাথে ব্যবহার করতে পারেন:

প্যারামিটার
w , h

বর্ণনা

প্রস্থ, w এবং উচ্চতা, h প্যারামিটার।

একটি ইমেজ মিডিয়া আইটেম অ্যাক্সেস করতে, যেমন একটি ভিডিওর জন্য একটি ফটো বা একটি থাম্বনেইল, আপনাকে অবশ্যই আপনার অ্যাপ্লিকেশনে প্রদর্শন করার পরিকল্পনা করা মাত্রাগুলি নির্দিষ্ট করতে হবে (যাতে আকৃতির অনুপাত সংরক্ষণ করার সময় ছবিটি এই মাত্রাগুলিতে স্কেল করা যেতে পারে)৷ এটি করার জন্য, উদাহরণগুলিতে দেখানো হিসাবে আপনার প্রয়োজনীয় মাত্রাগুলির সাথে বেস ইউআরএল সংযুক্ত করুন৷

উদাহরণ:

base-url=wmax-width-hmax-height

এখানে 2048 পিক্সেলের চেয়ে বেশি চওড়া এবং 1024 পিক্সেলের বেশি লম্বা নয় এমন একটি মিডিয়া আইটেম প্রদর্শনের একটি উদাহরণ রয়েছে:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

বর্ণনা

ফসল, c প্যারামিটার।

আপনি যদি নির্দিষ্ট প্রস্থ এবং উচ্চতার মাত্রায় ইমেজটি ক্রপ করতে চান, তাহলে বাধ্যতামূলক w এবং h প্যারামিটারের সাথে ঐচ্ছিক -c প্যারামিটারের সাথে বেস ইউআরএল সংযুক্ত করুন।

আকার (পিক্সেলে) পরিসরে হওয়া উচিত [1, 16383]। যদি চিত্রের প্রস্থ বা উচ্চতা হয়, অনুরোধ করা আকারটি ছাড়িয়ে যায় তবে চিত্রটি ছোট করে কাটা এবং ক্রপ করা হয় (দিক অনুপাতটি বজায় রাখা)।

উদাহরণ:

base-url=wmax-width-hmax-height-c

এই উদাহরণে, অ্যাপ্লিকেশনটি একটি মিডিয়া আইটেম প্রদর্শন করে যা 256 পিএক্স উচ্চ দ্বারা 256 পিএক্স প্রশস্ত, যেমন থাম্বনেইল:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

বর্ণনা

ডাউনলোড, d প্যারামিটার।

আপনি যদি অবস্থানটি মেটাডেটা ব্যতীত সমস্ত এক্সআইএফ মেটাডেটা ধরে রাখতে চিত্রটি ডাউনলোড করতে চান তবে d প্যারামিটারের সাথে বেস ইউআরএলটি সংযুক্ত করুন।

উদাহরণ:

base-url=d

এই উদাহরণে, অ্যাপ্লিকেশনটি অবস্থান মেটাডেটা ব্যতীত সমস্ত মেটাডেটা সহ একটি চিত্র ডাউনলোড করে:

https://lh3.googleusercontent.com/p/Az....XabC=d

ভিডিও বেস ইউআরএলএস

ভিডিও বেস ইউআরএলগুলির সাথে আপনি ব্যবহার করতে পারেন এমন বিকল্পগুলির তালিকা এখানে:

প্যারামিটার
dv

বর্ণনা

একটি ভিডিও mediaItem বাইটগুলি অ্যাক্সেস করতে, ডাউনলোড ভিডিও, dv প্যারামিটারের সাথে baseUrl একত্রিত করুন।

ডিভি প্যারামিটারটি মূল ভিডিওটির একটি উচ্চমানের, ট্রান্সকোডেড সংস্করণটির জন্য অনুরোধ করে। প্যারামিটারটি ডাব্লু এবং এইচ পরামিতিগুলির সাথে সামঞ্জস্যপূর্ণ নয়।

ভিডিও ডাউনলোডের জন্য বেস ইউআরএলগুলি বাইটগুলি ফিরতে কয়েক সেকেন্ড সময় নিতে পারে।

এই প্যারামিটারটি ব্যবহার করার আগে, মিডিয়া আইটেমগুলির mediaMetadata.status ক্ষেত্রটি READY কিনা তা পরীক্ষা করে দেখুন। অন্যথায়, যদি আপনার মিডিয়া আইটেমটি প্রক্রিয়া শেষ না করে থাকে তবে আপনি একটি ত্রুটি পেতে পারেন।

উদাহরণ:

base-url=dv

নিম্নলিখিত উদাহরণটি আপনাকে দেখায় যে কীভাবে কোনও ভিডিওর বাইটগুলি ডাউনলোড করতে হয়:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w , h , c , এবং d

বর্ণনা

ভিডিওর থাম্বনেইল অ্যাক্সেস করতে কোনও চিত্র বেস ইউআরএল প্যারামিটার ব্যবহার করুন।

ডিফল্টরূপে, সমস্ত ভিডিও থাম্বনেইলগুলিতে একটি প্লেব্যাক বোতামের একটি ওভারলে অন্তর্ভুক্ত থাকে। এই ওভারলেটি সরাতে -কোনও প্যারামিটার দেখুন।

উদাহরণ:

উদাহরণগুলির জন্য চিত্র বেস ইউআরএলএস টেবিলটি দেখুন।

no

বর্ণনা

থাম্বনেইল ওভারলে সরান, কোনও প্যারামিটার no

আপনি যদি কোনও প্লেব্যাক বোতামের ওভারলে ছাড়াই কোনও ভিডিওর থাম্বনেইলটি পুনরুদ্ধার করতে চান তবে কোনও প্যারামিটারের সাথে বেস ইউআরএলটি সংযুক্ত করুন।

কোনও প্যারামিটার অবশ্যই চিত্র বেস ইউআরএল প্যারামিটারগুলির মধ্যে কমপক্ষে একটির সাথে ব্যবহার করা উচিত।

উদাহরণ:

base-url=wmax-width-hmax-height-no

নিম্নলিখিত উদাহরণটি একটি ভিডিও থাম্বনেইল প্রদর্শন করে যা হুবহু 1280 পিএক্স প্রশস্ত 720 পিএক্স উচ্চ দ্বারা এবং প্লেব্যাক বোতামটি ওভারলে অন্তর্ভুক্ত করে না:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

মোশন ফটো বেস ইউআরএল

মোশন ফটোতে ফটো এবং ভিডিও উভয় উপাদান থাকে। আপনি মোশন ফটো baseUrl অনুরোধগুলির জন্য চিত্র বেস ইউআরএল বা ভিডিও বেস ইউআরএলগুলি থেকে প্যারামিটারগুলি ব্যবহার করতে পারেন।

প্যারামিটার
dv

বর্ণনা

একটি মোশন ফটো মিডিয়া আইটেমের ভিডিও উপাদানটি পুনরুদ্ধার করতে, dv প্যারামিটারটি ব্যবহার করুন যেমন আপনি ভিডিও বেস ইউআরএল থেকে ডাউনলোড করতে পারেন।

w , h , c , এবং d

বর্ণনা

একটি মোশন ফটো মিডিয়া আইটেমের ফটো উপাদানটি পুনরুদ্ধার করতে, চিত্র বেস ইউআরএলগুলির জন্য ফর্ম্যাটটি ব্যবহার করুন।