تضمين منشور Instagram

يمكنك الاستعلام عن نقطة النهاية oEmbed في Instagram للحصول على ملف HTML مضمّن لمنشور Instagram وبيانات التعريف الأساسية من أجل عرض المنشور في موقع ويب أو تطبيق آخر. يتم دعم منشورات الصور والفيديو وريلز والموجز.

تفضل بزيارة مركز مساعدة Instagram لمعرفة كيفية الحصول على رمز التضمين من ملف شخصي أو منشور عام على Instagram.

الاستخدامات الشائعة

  • تضمين منشور في مدونة
  • تضمين منشور في موقع ويب
  • عرض منشور في نظام إدارة المحتوى
  • عرض منشور في تطبيق مراسلة

المتطلبات

يفترض هذا الدليل أنك مطوّر Meta مسجل وقد أنشأت تطبيق Meta.

ستحتاج إلى ما يلي:

مستويات الوصول

رموز الوصول

  • رمز وصول التطبيق، إذا كان تطبيقك يمكنه الوصول إلى نقطة نهاية oEmbed من خادم الواجهة الخلفية
  • رمز وصول العميل، إذا كان تطبيقك يمكنه الوصول إلى نقطة نهاية oEmbed من وكيل المستخدم، مثل جهاز محمول أو متصفح ويب

عنوان URL الأساسي

يمكن الوصول إلى كل نقاط النهاية عبر المضيف graph.facebook.com.

نقاط النهاية

الميزات

التقييدات

  • من المفترض استخدام نقطة النهاية oEmbed في Instagram فقط لتضمين محتوى Instagram في مواقع الويب والتطبيقات. ولا تُستخدم لأي أغراض أخرى. ويُحظر تمامًا استخدام بيانات التعريف والصفحة أو المنشور أو محتوى الفيديو (أو الاشتقاقات الخاصة بها) من نقطة النهاية لأي غرض آخر بخلاف توفير عرض واجهة المستخدم للصفحة أو المنشور أو الفيديو. ويشمل هذا الحظر استهلاك بيانات التعريف والمحتويات أو معالجتها أو استخراجها أو الاحتفاظ بها، فعلى سبيل المثال لا الحصر، اشتقاق معلومات حول الصفحات والمنشورات ومقاطع الفيديو من بيانات التعريف لأغراض التحليلات.
  • تكون المنشورات على حسابات Instagram الخاصة وغير النشطة والمقيدة بعمر غير مدعومة.
  • الحسابات التي تحتوي على تصميمات مُضمنة معطّلة تكون غير مدعومة.
  • تكون القصص غير مدعومة.
  • Shadow DOM غير مدعوم.

تقييدات معدلات الاستدعاء

تعتمد تقييدات معدلات الاستدعاء على نوع رمز الوصول الذي يتضمنه تطبيقك في كل طلب.

تقييدات معدلات استدعاء رمز التطبيق

يمكن للتطبيقات المعتمدة على رموز وصول التطبيق إجراء 5 مليون طلب كحد أقصى يوميًا.

تقييدات معدلات استدعاء رمز العميل

تقل تقييدات معدلات استدعاء رمز العميل عن تقييدات معدلات استدعاء رمز التطبيق بشكل كبير. ولا نكشف عن الحد الفعلي نظرًا إلى أنه يتغير استنادًا إلى نشاط التطبيق لديك. ومع ذلك، يمكنك الافتراض بشكل آمن أن تطبيقك لن يصل إلى الحد الأقصى الخاص به ما لم يعرض سلوكًا يشبه البرنامج التلقائي، مثل تجميع آلاف الطلبات أو إرسال آلاف الطلبات لكل وكيل أو مستخدم تطبيق.

الحصول على رمز HTML للتضمين

يمكنك الحصول على رمز HTML للتضمين برمجيًا أو في تطبيق Instagram.

للحصول على رمز HTML مضمّن لمنشور Intagram برمجيًا، أرسل طلبًا إلى:

GET /instagram_oembed?url=<URL_OF_THE_POST>&access_token=<ACCESS_TOKEN>

استبدل عنوان <URL_OF_THE_POST>بعنوان URL لمنشور Instagram الذي تريد الاستعلام عنه، واستبدل رمز <ACCESS_TOKEN> برمز وصول التطبيق أو رمز وصول البرنامج أو أرسله إلينا في عنوان HTTP Authorization.

Authorization: Bearer <ACCESS_TOKEN>

وإذا كنت تستخدم رمز وصول البرنامج، فتذكّر أنه يجب دمجه مع معرف التطبيق لديك باستخدام رمز الأنبوب، وإلا فلن ينجح الطلب.

عند نجاح العملية، ستستجيب API بكائن لغة JSON الذي يحتوي على بيانات إضافية وملف HTML مضمّن للمنشور. وسيتم تعيين HTML المضمَّن إلى خاصية html.

يمكنك الرجوع إلى مرجع oEmbed في Instagram للحصول على قائمة معلمات سلسلة الاستعلام التي يمكنك تضمينها لدعم الطلب. ويمكنك أيضًا تضمين معلمة سلسلة الاستعلام fields لتحديد الحقول التي تريد إرجاعها. وإذا تم حذفها، فسيتم تضمين كل الحقول الافتراضية في الاستجابة.

عينة من الطلبات

curl -X GET \
  "https://graph.facebook.com/v21.0/instagram_oembed?url=https://www.instagram.com/p/fA9uwTtkSN/&access_token=IGQVJ..."

curl -i -X GET \
     --header "Authorization: Bearer 96481..." \
     "https://graph.facebook.com/v21.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN"

عينة من الاستجابة

يتم اقتطاع بعض القيم بعلامة الحذف (...) لإمكانية القراءة.

{
  "version": "1.0",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/",
  "type": "rich",
  "width": 658,
  "html": "<blockquote class=\"instagram-media\" data-instgrm-ca...",
  "thumbnail_width": 640,
  "thumbnail_height": 640
}

تنسيقات عنوان URL

تقبل معلمة سلسلة الاستعلام url تنسيقات عنوان URL التالية:

https://www.instagram.com/p/{media-shortcode}/
https://www.instagram.com/tv/{media-shortcode}/https://www.instagram.com/{username}/guide/{slug}/{guide_id}

لغة JS مضمّنة

يحتوي ملف HTML المضمّن على مرجع إلى مكتبة JavaScript ‏embed.js في Instagram. وعند تحميل المكتبة، فإنها تفحص الصفحة بحثًا عن ملف HTML للمنشور وتنشئ المنشور المعروض بالكامل. وإذا كنت تريد تحميل المكتبة بشكل منفصل، فيمكنك تضمين معلمة سلسلة الاستعلام omitscript=true في طلبك. ولتهيئة ملف HTML المضمّن يدويًا، يمكنك استدعاء الوظيفة instgrm.Embeds.process() بعد تحميل المكتبة.

حجم المنشور

المنشور المضمّن مستجيب وسيتكيف مع حجم حاويته. وهذا يعني أن الارتفاع سيختلف باختلاف عرض الحاوية وطول الشرح التوضيحي. ويمكنك تعيين الحد الأقصى للعرض من خلال تضمين معلمة سلسلة الاستعلام maxwidth في طلبك.

الحصول على الصور المصغرة

نوصيك بعرض كل ملفات HTML المضمّنة للمنشور إن أمكن. وإذا كان يتعذر عليك القيام بذلك، يمكنك الحصول على عنوان URL لصورة مصغرة للمنشور وعرضه بدلًا من ذلك. ولكن إذا قمت بذلك، فيجب عليك توفير إسناد واضح بجانب الصورة، بما في ذلك الإسناد إلى المؤلف الأصلي وإلى Instagram ورابط إلى منشور Instagram الذي تستعلم عنه.

وللحصول على عنوان URL لصورة مصغرة للمنشور ومعلومات الإسناد، أرسل طلبًا إلى:

GET /instagram_oembed
  ?url=<URL_OF_THE_POST>
  &maxwidth=<MAX_WIDTH>
  &fields=thumbnail_url,author_name,provider_name,provider_url
  &access_token=<ACCESS_TOKEN>

واستبدل عنوان <URL_OF_THE_POST> بعنوان URL لمنشور Instagram الذي تريد الاستعلام عنه، وقيمة <MAX_WIDTH> بالحد الأقصى لحجم الصورة المصغرة التي تريد عرضها، ورمز <ACCESS_TOKEN> برمز وصول التطبيق أو رمز الوصول البرنامج.

عينة من الطلب

curl -i -X GET \
  "https://graph.facebook.com/v21.0/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN&maxwidth=320&fields=thumbnail_url%2Cauthor_name%2Cprovider_name%2Cprovider_url&access_token=96481..."

عينة من الاستجابة

يتم اقتطاع بعض القيم بعلامة الحذف (...) لإمكانية القراءة.

{
  "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.288...",
  "author_name": "diegoquinteiro",
  "provider_name": "Instagram",
  "provider_url": "https://www.instagram.com/"
}

الإرسال لمراجعة التطبيقات

عند إرسال تطبيقك للمراجعة، في حقل النموذج أخبرنا لماذا تطلب قراءة Oembed > الرجاء توفير عنوان URL حيث يمكننا اختبار قراءة Oembed، استخدم نقطة نهاية oEmbed للحصول على رمز HTML التضمين لأي منشور عام على صفحة فيسبوك الرسمية أو صفحة Instagram الرسمية. بعد ذلك، أضف رمز HTML التضمين الذي تم إرجاعه إلى المكان الذي ستعرض فيه محتوى oEmbed وأدخل عنوان URL الخاص بهذه الصفحة في حقل النموذج.

بمجرد اعتمادك لاستخدام ميزة قراءة oEmbed، يمكنك تضمين صفحاتك أو منشوراتك أو مقاطع الفيديو لديك باستخدام عناوين URL التابعة لها.