On September 4, 2024, we announced the deprecation of the Instagram Basic Display API.

Starting December 4, 2024, all requests to the Instagram Basic Display API will return an error message. We recommend that you migrate your app to the Instagram API to avoid any disruption to your services.

Visit our News for Developers blog post to learn more.

البدء

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

يفترض العرض التوضيحي أنه يمكنك إجراء طلبات cURL أساسية باستخدام أداة سطر الأوامر أو تطبيق مثل Postman.

قبل البدء

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

  • حساب Instagram يتضمن وسائط.
  • موقع ويب عام تعود ملكيته إليك. يمكن أن يمثل ذلك موقعًا مجانيًا عامًا، مثل تطبيق ويب صفحة Github أو Heroku أو موقعك الفعلي على الويب.
  • يمكن لأداة سطر أوامر مثل Terminal أو تطبيق مثل Postman إجراء طلبات cURL.

الخطوة الأولى: إنشاء تطبيق على فيسبوك

انتقل إلى developers.facebook.com، ثم انقر على تطبيقاتي وأنشئ تطبيقًا جديدًا واختر نوع التطبيقالمستهلك أو بلا.

بمجرد الانتهاء من إنشاء التطبيق وانتقالك إلى لوحة معلومات التطبيق، انتقل إلى الإعدادات > أساسي ومرّر لأسفل الصفحة، ثم انقر على إضافة منصة.

اختر موقع الويب وأضف عنوان URL لموقع الويب لديك، ثم احفظ التغييرات التي أجريتها. ويمكنك تغيير المنصة لاحقًا إذا كنت تريد ذلك، ولكن في هذا العرض التوضيحي، استخدم موقع الويب.

الخطوة الثانية: تكوين العرض الأساسي في Instagram

انقر على المنتجات وحدد موقع منتج العرض الأساسي في Instagram، ثم انقر على إعداد لإضافته إلى تطبيقك.

مرّر لأسفل الصفحة وانقر على إنشاء تطبيق جديد.

في النموذج الذي يظهر، أكمل كل الأقسام من خلال اتباع الإرشادات التالية.

اسم العرض

أدخل اسمًا لتطبيق فيسبوك الذي أنشأته للتو.

محددات URI صالحة لإعادة توجيه OAuth

أدخل عنوان URL لموقع الويب لديك. يكون ذلك عادة محدد URI مخصصًا يمكنه التقاط معلمات إعادة توجيه سلسلة الاستعلام، ولكن بالنسبة لهذا العرض التوضيحي، فإن عنوان URL لموقع الويب لديك سيكون جيدًا.

فعلى سبيل المثال: https://socialsizzle.heroku.com/auth/

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

عنوان URL لاستدعاء إلغاء التصريح

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

عنوان URL لاستدعاء طلب حذف البيانات

أدخل عنوان URL لموقع الويب مرة أخرى. وكما هو الحال مع إلغاء مصادقة عنوان URL للاستدعاء، ستحتاج في النهاية إلى تغيير هذا العنوان إلى عنوان URL يمكنه معالجة طلبات حذف البيانات، ولكن يمكنك الآن إعادة استخدام عنوان URL لموقع الويب لديك.

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

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

الخطوة الثالثة: إضافة حساب اختباري في Instagram

انتقل إلى الأدوار > الأدوار ومرّر لأسفل إلى القسم "مسؤولو الاختبار في Instagram". انقر على إضافة مسؤولي الاختبار في Instagram وأدخل اسم مستخدم حساب Instagram لديك، ثم أرسل الدعوة.

افتح متصفح ويب جديدًا وانتقل إلى www.instagram.com، ثم سجّل الدخول إلى حسابك على Instagram الذي أرسلت إليه دعوة للتو. انتقل إلى (أيقونة الملف الشخصي) > تعديل الملف الشخصي > التطبيقات ومواقع الويب > دعوات مسؤولي الاختبار، ثم اقبل الدعوة.

أصبح حسابك على Instagram مؤهلًا الآن للوصول إليه من خلال تطبيق Facebook عند تعيينه إلى وضع التطوير.

الخطوة الرابعة: مصادقة الحساب الاختباري

أنشئ عنوان URL لنافذة التصريح أدناه مع استبدال المعرف {app-id} بمعرف تطبيق Instagram (من الحقل لوحة معلومات التطبيق > المنتجات > Instagram > العرض الأساسي > معرف تطبيق Instagram)، والمحدد {redirect-uri} بعنوان URL لموقع الويب لديك الذي قدمته في الخطوة الثانية ("محددات URI صالحة لإعادة توجيه OAuth"). ويجب أن يتطابق عنوان URL تمامًا.

https://api.instagram.com/oauth/authorize
  ?client_id={app-id}
  &redirect_uri={redirect-uri}
  &scope=user_profile,user_media
  &response_type=code

على سبيل المثال:

https://api.instagram.com/oauth/authorize
  ?client_id=684477648739411
  &redirect_uri=https://socialsizzle.herokuapp.com/auth/
  &scope=user_profile,user_media
  &response_type=code

افتح نافذة متصفح جديدة وقم بتحميل عنوان URL لنافذة التصريح. ويجب أن يظهر ويعرض اسم المستخدم لديك في Instagram واسم التطبيق ووصف الأذونات التي يطلبها تطبيقك.

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

https://socialsizzle.herokuapp.com/auth/?code=AQDp3TtBQQ...#_

لاحظ أنه تم إلحاق #_ بنهاية محدد URI لإعادة التوجيه، ولكنه ليس جزءًا من الرمز البرمجي نفسه. وانسخ الرمز البرمجي (بدون #_ portion) بحيث يمكنك استخدامه في الخطوة التالية.

تكون رموز التصريح قصيرة الأجل وصالحة لمدة ساعة واحدة فقط.

الخطوة الخامسة: استبدال الرمز البرمجي بالرمز المميز

افتح أداة سطر الأوامر أو تطبيقًا يدعم طلبات cURL وأرسل طلب POST التالي إلى واجهة API.

curl -X POST \
  https://api.instagram.com/oauth/access_token \
  -F client_id={app-id} \
  -F client_secret={app-secret} \
  -F grant_type=authorization_code \
  -F redirect_uri={redirect-uri} \
  -F code={code}

استبدل {app-id} و{app-secret} و{redirect-uri} و{code} بمعرف تطبيق Instagram والمفتاح السري لتطبيق Instagram ومحدد URI لإعادة التوجيه والرمز البرمجي الذي أرسلناه إليك. وتأكد من أن محدد URI لإعادة التوجيه يتطابق تمامًا مع المحدد الذي حددته في الخطوة السابقة، بما في ذلك الشرطات النهائية المائلة إلى الأمام في حالة إضافتها من خلال لوحة معلومات التطبيق عند تكوين تطبيق Instagram الخاص بك.

على سبيل المثال:

curl -X POST \
  https://api.instagram.com/oauth/access_token \
  -F client_id=684477648739411 \
  -F client_secret=eb8c7... \
  -F grant_type=authorization_code \
  -F redirect_uri=https://socialsizzle.herokuapp.com/auth/ \
  -F code=AQDp3TtBQQ...

وعند نجاح الأمر، ستقوم واجهة API بإرجاع كائن مشفّر بلغة JSON يحتوي على رمز وصول مستخدم Instagram قصير الأجل صالح لمدة ساعة واحدة ومعرف الحساب الاختباري في Instagram:

{
  "access_token": "IGQVJ...",
  "user_id": 17841405793187218
}

انسخ رمز الوصول ومعرف المستخدم بحيث يمكنك استخدامهما في الخطوة التالية.

الخطوة السادسة: الاستعلام عن عقدة المستخدم

استخدم أداة سطر الأوامر أو التطبيق وطلب cURL التالي للاستعلام عن العقدة المستخدم للحصول على معرف المستخدم واسم المستخدم لديك. واستبدل {user-id} و{access-token} بالمعرف ورمز الوصول الذي تلقيته في الخطوة الأخيرة.

curl -X GET \
  'https://graph.instagram.com/{user-id}?fields=id,username&access_token={access-token}'

على سبيل المثال:

curl -X GET \
  'https://graph.instagram.com/17841405793187218?fields=id,username&access_token=IGQVJ...'

بدلًا من ذلك، يمكنك الاستعلام عن العقدة Me التي يمكنها فحص الرمز المميز لديك، وتحديد معرف مستخدم Instagram الذي منحك الرمز المميز والاستعلام عن هذا المستخدم. على سبيل المثال:

curl -X GET \
  'https://graph.instagram.com/me?fields=id,username&access_token=IGQVJ...'

وعند نجاح العملية، ستستجيب واجهة API من خلال معرف مستخدم Instagram واسم المستخدم الخاص بك:

{
  "id": "17841405793187218",
  "username": "jayposiris"
}

الخطوات التالية

أصبحت الآن على دراية بطريقة الحصول على رمز مميز وتنفيذ الاستعلامات الأساسية، لذا يمكنك الاطلاع على الدلائل التي نوفرها للتعرف على المزيد حول ما يمكنك القيام به مع واجهة API.