بعد إجراء طلبات لعرض محتوى مكتبة صور أو álbum، بدلاً من تخزين عناصر الوسائط المعروضة، يجب أن يخزِّن تطبيقك أرقام تعريف عناصر الوسائط. ويعود السبب في ذلك إلى أنّه قد يتغيّر محتوى عناصر الوسائط، وبعد مرور فترة معيّنة، تنتهي صلاحية عناوين URL المضمّنة في الاستجابة. يحدِّد رقم تعريف ملف الوسائط ملفًا وسائط بشكل فريد، مثل صورة أو فيديو داخل مكتبة المستخدم.
نطاقات التفويض المطلوبة
يتطلب الوصول إلى عناصر الوسائط التي أنشأها التطبيق نطاق
photoslibrary.readonly.appcreateddata
. لمزيد من المعلومات عن النطاقات،
اطّلِع على نطاقات التفويض.
عناصر الوسائط
mediaItem
هو تمثيل للوسائط، مثل صورة أو فيديو تم تحميلهما إلى مكتبة "صور Google". وهو عنصر من المستوى الأعلى ويمكن أن تختلف خصائصه
استنادًا إلى نوع الوسائط الأساسي.
يسرد الجدول التالي سمات mediaItem
:
الخصائص | |
---|---|
id |
معرّف دائم وثابت يُستخدَم لتحديد الجسم |
description |
وصف لعنصر الوسائط كما يظهر في "صور Google" |
baseUrl |
تُستخدَم للوصول إلى وحدات البايت الأوّلية. لمزيد من المعلومات، يُرجى الاطّلاع على عناوين URL الأساسية. |
productUrl |
رابط يؤدي إلى الصورة داخل "صور Google" لا يمكن للمطوّر فتح هذا الرابط، بل يمكن للمستخدم فقط فتحه. تشير عناوين URL إلى عنصر وسائط في المكتبة. إذا تم استرداد عنوان URL من بحث عن الألبوم، فإنه يشير إلى العنصر داخل الألبوم. |
mimeType |
نوع عنصر الوسائط للمساعدة في تحديد نوع الوسائط بسهولة
(على سبيل المثال: image/jpg ). |
filename |
اسم ملف عنصر الوسائط الذي يظهر للمستخدم في تطبيق "صور Google" (ضمن قسم معلومات العنصر) |
mediaMetadata |
تختلف حسب النوع الأساسي للوسائط، مثل photo
أو video .
لتقليل الحمولة، يمكن استخدام أقنعة الحقول.
|
الحصول على عنصر وسائط
لاسترداد عنصر وسائط، يمكنك استدعاء mediaItems.get باستخدامmediaItemId
. يعرض الطلب عنصر وسائط واحدًا.
يحتوي mediaItem
على سمات، مثل رقم التعريف والوصف وعنوان URL. تستند
المعلومات الإضافية ضمن photo
أو video
إلى البيانات الوصفية ضمن
الملف. قد لا تكون جميع المواقع متوفرة.
إذا كان عنصر الوسائط فيديو، يجب معالجة ملف الفيديو أولاً. يحتوي العنصر
mediaItem
على حقل status
داخل mediaMetadata
يصف
حالة معالجة ملف الفيديو. يعرض الملف الذي تم تحميله حديثًا الرمز
videoProcessingStatus
بالقيمة PROCESSING
أولاً، قبل أن يتم READY
لاستخدامه. لا تتوفّر baseUrl
لعنصر وسائط الفيديو إلى أن تتم معالجة الفيديو.
REST
في ما يلي طلب GET:
GET https://photoslibrary.googleapis.com/v1/mediaItems/media-item-id Content-type: application/json Authorization: Bearer oauth2-token
يظهر الردّ على عنصر وسائط صورة على النحو التالي. يحتوي عنصر photo (الصورة) على بيانات وصفية لعناصر الصور.
{ "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. يجب ألا تحتوي قائمة عناصر الوسائط على معرّفات مكرّرة، ولا يمكن أن تكون فارغة.
REST
في ما يلي طلب 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." } } ] }
عناوين URL الأساسية
توفّر عناوين URL الأساسية في واجهات برمجة تطبيقات "صور Google" إمكانية الوصول إلى الوحدات البايتية الأوّلية لعناصر الوسائط، ما يتيح لتطبيقك تنزيلها أو عرضها. يتم تضمين عناوين URL هذه في الاستجابات عند إدراج الألبومات (Library API) أو الوصول إلى عناصر الوسائط (كل من واجهتَي برمجة التطبيقات Library وPicker). تذكَّر أنّ عناوين URL الأساسية تتطلّب مَعلمات إضافية لكي تعمل بشكل صحيح.
بالنسبة إلى Picker API:
تتضمّن جميع عناصر PickedMediaItem.mediaFile
رمز baseUrl
.
تظلّ عناوين URL الأساسية نشطة لمدة 60 دقيقة، ولكن يمكن أن تنتهي صلاحيتها في وقت أقرب إذا ألغى المستخدم أذونات تطبيقك من خلال إعدادات حسابه على Google.
بالنسبة إلى Library API:
تظل عناوين URL الأساسية نشطة لمدة 60 دقيقة.
في ما يلي عناوين URL الأساسية المختلفة:
baseUrl
: الوصول مباشرةً إلى صورة أو صورة مصغّرة لفيديو أو تنزيل ملف فيديو بايتcoverPhotoBaseUrl
: الوصول مباشرةً إلى صورة غلاف الألبومprofilePictureBaseUrl
: الوصول مباشرةً إلى صورة الملف الشخصي لمالكmediaItem
عناوين URL الأساسية للصور
في ما يلي قائمة بالخيارات التي يمكنك استخدامها مع عناوين URL الأساسية للصور:
المَعلمة | |
---|---|
"w " و"h " |
الوصف مَعلمتَا العرض، للوصول إلى عنصر وسائط صورة، مثل صورة أو صورة مصغّرة لفيديو، عليك تحديد الأبعاد التي تخطّط لعرضها في تطبيقك (كي يتم تصغير الصورة إلى هذه الأبعاد مع الحفاظ على نسبة العرض إلى الارتفاع). لإجراء ذلك، ادمج عنوان URL الأساسي مع السمات المطلوبة كما هو موضّح في الأمثلة. أمثلة: base-url=wmax-width-hmax-height في ما يلي مثال لعرض عنصر وسائط لا يزيد عرضه عن 2048 بكسل ولا يزيد ارتفاعه عن 1024 بكسل: https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024 |
c |
الوصف مَعلمة الاقتصاص إذا كنت تريد اقتصاص الصورة بالعرض والارتفاع
الدقيقَين اللذَين حدّدتهما، يمكنك تسلسل عنوان URL الأساسي مع المَعلمة
الاختيارية يجب أن يكون الحجم (بالبكسل) ضمن النطاق [1، 16383]. إذا كان عرض الصورة أو ارتفاعها يتجاوزان الحجم المطلوب، يتم تصغير الصورة واقتصاصها (مع الحفاظ على نسبة العرض إلى الارتفاع). أمثلة: base-url=wmax-width-hmax-height-c في هذا المثال، يعرض التطبيق عنصر وسائط بقياس 256 بكسل بالضبط في العرض و256 بكسل في الارتفاع، مثل صورة مصغّرة: https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c |
d |
الوصف المَعلمة download, إذا كنت تريد تنزيل الصورة مع الاحتفاظ بجميع البيانات الوصفية في Exif
باستثناء البيانات الوصفية للموقع الجغرافي، يمكنك تسلسل عنوان URL الأساسي مع المَعلمة
أمثلة: base-url=d في هذا المثال، ينزِّل التطبيق صورة تتضمّن كل البيانات الوصفية باستثناء البيانات الوصفية للموقع الجغرافي: https://lh3.googleusercontent.com/p/Az....XabC=d |
عناوين URL الأساسية للفيديوهات
في ما يلي قائمة بالخيارات التي يمكنك استخدامها مع عناوين URL الأساسية للفيديو:
المَعلمة | |
---|---|
dv |
الوصف للوصول إلى وحدات البايت في فيديو تطلب المَعلمة dv نسخة مُعاد تحويلها بجودة عالية من الفيديو الأصلي. المَعلمة ليست متوافقة مع المَعلمتَين w وh قد يستغرق عرض وحدات البايت في عناوين URL الأساسية لتنزيل الفيديوهات بضع ثوانٍ. قبل استخدام هذه المَعلمة، تأكَّد من أنّ الحقل
أمثلة: base-url=dv يوضّح لك المثال التالي كيفية تنزيل وحدات البايت الخاصة بأحد الفيديوهات: https://lh3.googleusercontent.com/p/AF....BsdZ=dv |
w وh وc
d |
الوصف للوصول إلى الصورة المصغّرة للفيديو، استخدِم أيًا من مَعلمات عنوان URL الأساسي للصورة. تتضمّن جميع الصور المصغّرة للفيديو تلقائيًا زر تشغيل متراكبًا. اطّلِع على المَعلمة -no لإزالة هذا التراكب. أمثلة: راجِع جدول عناوين URL الأساسية للصور للحصول على أمثلة. |
no |
الوصف مَعلمة إذا أردت استرداد الصورة المصغّرة للفيديو بدون زر التشغيل المتراكب عليها، يمكنك تسلسل عنوان URL الأساسي مع المَعلمة no. يجب استخدام المَعلمة no مع واحدة على الأقل من مَعلمات عنوان URL الأساسي للصورة. أمثلة: base-url=wmax-width-hmax-height-no يعرض المثال التالي صورة مصغّرة للفيديو بعرض 1280 بكسل وارتفاع 720 بكسل بالضبط ولا تتضمّن زر تشغيل متراكبًا: https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no |
عناوين URL الأساسية للصور الحيّة
تحتوي الصور الحيّة على عناصر من الصور والفيديوهات. يمكنك استخدام المَعلمات من
عناوين URL الأساسية للصور أو عناوين URL الأساسية
للفيديوهات لطلبات الصور المتحركة baseUrl
.
المَعلمة | |
---|---|
dv |
الوصف لاسترداد عنصر الفيديو من عنصر وسائط صورة متحركة، استخدِم
المَعلمة |
w وh وc
d |
الوصف لاسترداد عنصر الصورة لعنصر وسائط صورة متحركة، استخدِم تنسيق عناوين URL الأساسية للصور. |