تهيئة رمز تطبيق لـ Instagram oneboxes

If you already have a Facebook App associated with your Discourse site, scroll down to Adding oEmbed to your Facebook App.

If you do not have a Facebook Developer account and Facebook App:

Go to https://developers.facebook.com/. You’ll be prompted to log in to your Facebook account if you aren’t currently logged in. You may be asked to ‘convert’ your Facebook account to a developer account if you haven’t done so previously. You may be asked to verify your account with Facebook by adding a phone number or by completing other steps. You’ll need to just follow the prompts and do what Facebook requires of you.

Once you have a Facebook Developer account, click on ‘My Apps’ from the Facebook Developer homescreen:

…and ‘Create App’:

Select an app type of ‘Something Else’ and ‘Continue’:

Enter an ‘App Display Name’ and an ‘App Contact Email’. Once you’ve read through their Terms and Polices, you can click ‘Create App’:

If you are a robot: nothing to see here. Beep bop boop. :robot:

If you are not a robot: click “I’m not a robot”, follow the prompts, and click ‘Submit’.

Congrats! You have a Facebook App!

Adding oEmbed to your Facebook App:

Scroll to the bottom of the list of Products, find ‘oEmbed’ and click ‘Set Up’:

If you agree with how you’re going to use the oEmbed product, click the checkbox, and then click ‘Confirm’:

The oEmbed product has been added. Click on ‘Settings’:

‘Display Name’ and ‘Contact Email’ should already be filled in. You’ll need to enter URLs for your ‘Privacy Policy’ and ‘Terms of Service’. Select a ‘Category’ from the list of available options. Click ‘Save Changes’ when you’re happy with everything:

Click the toggle at the top of the screen to change from ‘In development’ to ‘Live’ mode:

Click ‘Switch Mode’:

Having done all that, we can actually generate an App Token by following Facebook’s instructions on App Access Tokens. You’ll need the value of the ‘App ID’ field, and the value of the ‘App Secret’ field. To get the App Secret, click ‘Show’. You may be asked to reauthenticate yourself or similar, but you should end up with a long hexadecimal value that you can copy:

As per Facebook’s documentation, you need to send those values to Facebook to generate a token. Are you familiar with using curl? Great! They suggest the following (replacing {your-app-id} and {your-app-secret}) with the values you copied from the screen above.

curl -X GET "https://graph.facebook.com/oauth/access_token?client_id={your-app-id}&client_secret={your-app-secret}&grant_type=client_credentials"

Alternatively, copying just the URL (after replacing those two values) to your browser should also work:

https://graph.facebook.com/oauth/access_token?client_id={your-app-id}&client_secret={your-app-secret}&grant_type=client_credentials

Facebook will respond with a small chunk of JSON, that should look something like this example:

{"access_token":"1234567890654321|c3bd55c09fc5e561552ad7a8717","token_type":"bearer"}

Copy the value of your access_token, excluding the quote marks (i.e., in my example it would be 1234567890654321|c3bd55c09fc5e561552ad7a8717), and go to your Discourse site’s Settings. Find the site setting called facebook_app_access_token in the Onebox setting. Paste the ‘access_token’ value in to this field:

Click the :white_check_mark: …and you’re done!

Pasting a URL such as https://www.instagram.com/p/CIRhYzFM7Lu/ in to a post on your site should result in a lovely onebox, just like this one:

https://www.instagram.com/p/CIRhYzFM7Lu/

Last edited by @JammyDodger 2024-05-26T06:49:11Z

Check documentPerform check on document:
17 إعجابًا

New oEmbed Read Feature and App Review Requirements

Today, June 8, 2021, we announced v11.0 of the Graph API and Marketing APIs. With this update, there are new requirements to be able to access oEmbed APIs . Some of your apps currently access the oEmbed APIs and might be affected by these changes.

To continue accessing the oEmbed APIs, you will have to submit your apps for review by September 6th, 2021 . If you want to request new access to the oEmbed APIs, you will also need to submit your app(s) for review.

To learn more, please review the updated requirements. If your apps haven’t been reviewed for the oEmbed API feature by September 6, 2021, your apps will lose access to this feature. To avoid disruption to your apps’ oEmbed access, please submit for App Review as soon as possible.

New rules from our Facebook overlords, I’ve just submitted both of my apps for review. I found a public post with an Instagram embed and linked directly to show how the integration works. Hopefully this is sufficient.

8 إعجابات


womp womp, review failed.

here’s what i submitted

Your submission details

Is a Facebook reviewer able to access or login to your app to verify you’re using permissions or features according to Facebook Platform Policy?

Yes

Platform Settings

Desktop

Site URL:https://fixed.org.au/

No account needed

  1. Visit The 'what you've done to your bike today' thread - #10218 by jaseyjase - Post your ride - FOA
  2. The instagram post is embeded in the page. The site is running Discourse forum software (https://discourse.org/)

Oembed Read

Tell us how you’re using this permission or feature

Discourse (https://discourse.org/) can embed Instagram and Facebook posts in community posts, it keeps people on our website while richly embedding content

Oembed URL

The 'what you've done to your bike today' thread - #10218 by jaseyjase - Post your ride - FOA

I just resubmitted (had some extra text in Oembed URL) and it’s been approved!!! :smiley: waiting for my second app to be…

3 إعجابات

The text looks the same as in your initial review submit. Can you elaborate on what extra information you provided compared to the failed review?

In addition: Did you pass FB login data to the forum or not?

إعجاب واحد (1)

@znedw my question still stands, if you can help everyone with some insight on this please?

The first review failed because I had some extra text in the Oembed URL field and the form removes spaces onsubmit, so the URL didn’t work… That’s the only difference between attemps

Nope, in the Platform section (I had to add a platform in the wizard), I just wrote

No account needed

I didn’t really want to setup a discourse account just for FB review, so I just found a post on our forum that was public, and had an Instagram image embedded. I thought this would show how the integration functions well enough. I guess FB could read the discourse source and work it out themselves :man_shrugging:

Sorry I missed this. I literally did no changes to either forum, just found a forum post with an instagram pic embedded as mentioned above and then walked through the app review wizard on FB

3 إعجابات

Hi @znedw, I followed your guide and got our app review approved 24 hours later.

Although, I had to enter the direct link to the embedded Instagram post into the oEmbed-URL field as the form did not accept the link to the topic on our domain in that field. Maybe they changed that part.

For the rest, I followed exactly your wording. And it worked.

إعجاب واحد (1)

سؤال سريع: هل تغيرت العملية إلى “Instagram Basic Display” أم أنني أعمى جدًا؟ لأنني لا أرى خيار oEmbed، وأقرب تعريف أفترض أنه Instagram Basic Display.

اقتباس:

يتيح Instagram Basic Display للتطبيقات الوصول إلى Instagram Basic Display API، والذي يوفر وصولًا للقراءة فقط إلى البيانات الأساسية في حسابات Instagram الخاصة بمستخدمي التطبيق.

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

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

ومع ذلك، يتطلب عناوين URL أخرى غير مدرجة هنا لذا لست متأكدًا، على سبيل المثال:

إعداد OAuth للعميل

عنوان URL لإلغاء التفويض


(ربما تغير شيء ما لأنه لا يعمل هنا أعتقد؟)

https://www.instagram.com/p/CIRhYzFM7Lu

3 إعجابات

على حد علمي، لا يزال oEmbed read مع advanced access

إعجاب واحد (1)

حسناً. إذن هناك اختلاف عن البرنامج التعليمي.

بدلاً من إضافته مثل أي ميزة أخرى (تسمى “المنتجات” في واجهة المستخدم) من لوحة التحكم، يتم الآن طلبه من قسم “الطلب” في قائمة “مراجعة التطبيق”. تحدد الميزة وتقدمها للمراجعة.

وهذا يجعل العملية تبدو وكأنها ثغرة لأنه يطلبون رابطًا مع oEmbed صالح للموافقة عليه… ولكنه لا يعمل لأن الميزة لم تتم الموافقة عليها… :sweat:

4 إعجابات

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

تحتاج إلى تسجيل الدخول إلى فيسبوك (لا أعرف ما إذا كانت واجهة برمجة تطبيقات Instagram Graph مطلوبة بالفعل). تحقق من أن تسجيل الدخول إلى فيسبوك يعمل على تثبيت Discourse الخاص بك.

إعدادات تسجيل الدخول إلى فيسبوك:

الإعدادات الأساسية:

الإعدادات المتقدمة:

3 إعجابات

مرحباً يا رفاق، أردت أن أعلمكم جميعاً أنه اعتبارًا من اليوم، يظل وصف @Iceman دقيقًا.

تم تعديل بعض تخطيطات الصفحة من الدليل (:point_up:)، ولكن الاختلاف الرئيسي هو أنه يجب طلب oEmbed بعد اجتياز تطبيقك لمراجعة التطبيق.

من قائمة “مراجعة التطبيق”، يمكنك تقديم الطلبات:

لم يجتز تطبيقي مراجعة التطبيق بعد، ولكن تمكن @undasein من جعله يعمل مؤخرًا، بمساعدة هذا الدليل والمشورة من https://stackoverflow.com/questions/67998234/starting-using-instagram-oembed-feature.


حظاً موفقاً في مشاركة صورك، أيها الرفاق! :slight_smile:

3 إعجابات

لم أفعل شيئًا معقدًا في طلبي. لقد كتبت للتو “أود تضمين منشورات Instagram في منتدى الخاص بي” وتمت الموافقة عليه في يوم واحد.

إعجاب واحد (1)

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

تمكن بعض المستخدمين من التحايل على هذا عن طريق تقديم التطبيق للمراجعة لسبب مختلف (مثل تسجيل الدخول إلى فيسبوك)، وبمجرد الموافقة عليه، يمكن طلب بعض الميزات، مثل “Oembed Read”.

قد ترغب في التواصل مع قنوات دعم المنصة لفهم ما يحدث لحسابك. :+1:

إعجاب واحد (1)

[quote=“Jamie Wilson, post:1, topic:223548, username:jamie.wilson”]noEmbed
[/quote]

لم يعد oEmbed موجودًا، ماذا أضع بدلاً منه؟

[quote=“Iceman, post:10, topic:223548, username:Iceman”]Instagram Basic Display
[/quote]

لا أرى خيار Oembed، أي واحد اخترت؟

هل اجتاز تطبيقك مراجعة التطبيق بعد يا @danielabc؟

إعجاب واحد (1)

عندما أذهب إلى الخيار، يكون الزر متوقفًا، ولا يمكنني النقر عليه

عندما أذهب إلى الخيار، يكون الزر متوقفًا، ولا يمكنني النقر عليه

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

إذًا، إليك الوضع الحالي لإذن قراءة oEmbed:

لطلب وصول متقدم لهذا الإذن، تحتاج إلى إجراء استدعاء ناجح لواجهة برمجة التطبيقات (API) للاختبار. قد يستغرق الأمر ما يصل إلى 24 ساعة بعد أول استدعاء لواجهة برمجة التطبيقات (API) ليصبح هذا الزر نشطًا. تعرف على الاختبار

كيف نقوم عمليًا بإجراء استدعاء لواجهة برمجة التطبيقات (API) باستخدام Discourse في هذا السياق لطلب وصول متقدم مرة أخرى؟ :thinking:

إعجابَين (2)