Konfigurieren Sie ein App-Token für 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/

17 „Gefällt mir“

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 „Gefällt mir“


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 „Gefällt mir“

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 „Gefällt mir“

@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 „Gefällt mir“

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 „Gefällt mir“

Kurze Frage: Hat sich der Prozess zu „Instagram Basic Display“ geändert oder bin ich sehr, sehr blind? Weil ich die oEmbed-Option nicht sehen kann, vermute ich, dass die Instagram Basic Display die nächstliegende Option ist.

Zitat:

Instagram Basic Display ermöglicht es Apps, auf die Instagram Basic Display API zuzugreifen, die einen schreibgeschützten Zugriff auf grundlegende Daten in den Instagram-Konten von App-Benutzern bietet.

Verwenden Sie diese Registerkarte, um das Autorisierungsfenster der API zu konfigurieren, damit Sie Berechtigungen von Benutzern erhalten und Ihre App zur App-Überprüfung einreichen können, wenn Sie bereit sind, sie in den Live-Modus zu versetzen.

Beachten Sie, dass Basic Display kein Authentifizierungstool ist. Von der API zurückgegebene Daten können nicht zur Authentifizierung Ihrer App-Benutzer oder zur Anmeldung bei Ihrer App verwendet werden. Wenn Ihre App API-Daten zur Authentifizierung von Benutzern verwendet, wird sie während der App-Überprüfung abgelehnt. Wenn Sie eine Authentifizierungslösung benötigen, verwenden Sie stattdessen Facebook Login.

Es erfordert jedoch andere URLs, die hier nicht aufgeführt sind, daher bin ich mir nicht sicher, z. B.:

Client OAuth-Einstellung

Deauthorize Callback URL


(Vielleicht hat sich auch etwas geändert, weil es hier meiner Meinung nach nicht funktioniert?)

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

3 „Gefällt mir“

soweit ich das beurteilen kann, ist es immer noch oEmbed lesen mit erweitertem Zugriff

1 „Gefällt mir“

Ich verstehe. Dann gibt es einen Unterschied zum Tutorial.

Anstatt wie jede andere Funktion (im UI als „Produkte“ bezeichnet) über das Dashboard hinzugefügt zu werden, wird sie jetzt im Abschnitt „Anfordern“ des Menüs „App-Überprüfung“ angefordert. Sie wählen die Funktion aus und reichen sie zur Überprüfung ein.

Das macht den Prozess irgendwie lückenhaft, weil sie einen Link mit einem gültigen oEmbed zum Genehmigen anfordern… aber es funktioniert nicht, weil die Funktion nicht genehmigt ist… :sweat:

4 „Gefällt mir“

Es funktioniert jetzt auf meinem Konto. Ich werde versuchen, mit dem zusammenzufassen, was Sie brauchen. Ich bin kein Technikexperte, daher bin ich mir nicht sicher, ob ich viele Fragen beantworten kann, aber ich nehme an, Sie können meine Einstellungen so genau wie möglich kopieren, um zu überprüfen, ob alles funktioniert.

Sie benötigen sowohl die Facebook-Anmeldung (ich weiß nicht, ob die Instagram-Graph-API tatsächlich benötigt wird). Überprüfen Sie, ob die Facebook-Anmeldung auf Ihrer Discourse-Installation funktioniert

Facebook-Anmeldeeinstellungen:

Grundeinstellungen:

Erweiterte Einstellungen:

3 „Gefällt mir“

Hallo zusammen, ich wollte euch wissen lassen, dass die Beschreibung von @Iceman ab heute korrekt ist.

Einige der Seitenlayouts wurden gegenüber der Anleitung geändert (:point_up:), aber der Hauptunterschied besteht darin, dass oEmbed nach der Genehmigung Ihrer App durch die App-Überprüfung angefordert werden muss.

Im Menü „App-Überprüfung“ können Sie Anfragen stellen:

Meine App hat die App-Überprüfung noch nicht bestanden, aber @undasein konnte sie kürzlich zum Laufen bringen, mit Hilfe dieser Anleitung und Ratschlägen von https://stackoverflow.com/questions/67998234/starting-using-instagram-oembed-feature.


Viel Glück beim Teilen eurer `grams! :slight_smile:

3 „Gefällt mir“

Ich habe in meiner Anfrage nichts Ausgefallenes gemacht. Ich habe einfach geschrieben „Ich möchte Instagram-Posts auf meinem Forum einbetten“ und es wurde an einem Tag genehmigt.

1 „Gefällt mir“

Wie kann ich auf die erweiterte oembed-Lesefunktion zugreifen? Ich kann sie nicht einmal anfordern, da die Schaltfläche deaktiviert ist. Ich habe einige API-Aufrufe auf der Graph-API durchgeführt, aber es passiert nichts, selbst nach 24 Stunden

Einige Benutzer haben dies umgangen, indem sie die App aus einem anderen Grund zur Überprüfung eingereicht haben (z. B. Facebook-Login). Sobald sie genehmigt wurde, können einige Funktionen angefordert werden, wie z. B. „Oembed Read“.

Sie sollten sich möglicherweise an die Support-Kanäle der Plattform wenden, um zu verstehen, was mit Ihrem Konto passiert. :+1:

1 „Gefällt mir“

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

noEmbed existiert nicht mehr, was soll ich stattdessen einfügen?

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

Ich kann die Oembed-Option nicht sehen, welche hast du gewählt?

Hat Ihre App das App Review bereits bestanden, @danielabc?

1 „Gefällt mir“

Wenn ich zu der Option gehe, ist der Button aus und ich kann nicht klicken

Wenn ich zu der Option gehe, ist der Button aus und ich kann nicht klicken

Mein Zugriff wurde widerrufen, da er 90 Tage lang nicht genutzt wurde. Das bedeutet, dass, wie ich vermute, niemand in meinem Forum kürzlich einen Instagram-Link gepostet hat.

Hier ist der aktuelle Status der oEmbed Read-Berechtigung:

Um erweiterten Zugriff auf diese Berechtigung anzufordern, müssen Sie einen erfolgreichen API-Testaufruf durchführen. Es kann bis zu 24 Stunden nach dem ersten API-Aufruf dauern, bis diese Schaltfläche aktiv wird. Mehr über Tests erfahren

Wie machen wir in diesem Zusammenhang praktisch einen API-Aufruf mit Discourse, um erneut erweiterten Zugriff anzufordern? :thinking:

2 „Gefällt mir“