Facebook Login für Gruppenmitglieder

8

Ich bin der Administrator einer kleinen Gruppe auf Facebook, es hat ungefähr 40-50 Mitglieder. Jetzt baue ich eine Webseite für die Gruppe auf, die Benutzer mit Facebook-Login autorisieren wird (ich benutze Laravel + SammyKs LaravelFacebookSDK , wenn das so ist Angelegenheiten).

Alles funktioniert gut, aber es gibt ein Problem. Ich möchte den Login nur für Mitglieder der Facebook-Gruppe einschränken. Der beste Weg wäre die Verwendung der / me / groups-API, aber dafür ist user_groups permission erforderlich, was eingeschränkt ist.

Natürlich gibt es "Hacky" -Lösungen, wie jeden Benutzer manuell zu einem App Insight-Benutzer zu machen oder ein Skript zu schreiben, das jeden Tag eine Datenbank auf meinem Server aktualisiert, die die Liste der Gruppenmitglieder enthält, aber nicht einfach , elegante Art, das zu tun?

Ich bezweifle stark, dass Facebook mir erlauben wird, die Berechtigung user_groups nur dafür zu verwenden.

    
nXu 14.01.2015, 21:17
quelle

3 Antworten

1

Sieht so aus, als gäbe es nur einen schönen Weg, dies zu erreichen:

Obwohl /me/groups die Berechtigung user_groups benötigt, um Gruppen abzurufen, zu denen der Benutzer gehört, kann es Gruppen erstellt von der App ohne sie (vorausgesetzt es gibt natürlich ein gültiges Zugriffs-Token).

Also - obwohl es natürlich nicht so schön und nahtlos ist, wie ich es wollte - war meine Lösung, eine neue Facebook-Gruppe mit der App zu erstellen (benötigt nur eine POST-Anfrage) und aktuelle Mitglieder auf diese neue zu verschieben.

Bearbeiten : Das Verschieben von Mitgliedern ist keine Möglichkeit. Der Beitritt zu einer App-Gruppe ist nur programmatisch über das SDK möglich. Wenn ein Benutzer kein Mitglied dieser Gruppe ist, werde ich sie daher zur Teilnahme auffordern. Es bedeutet, dass jeder beitreten kann und ich manuell die verbieten muss, die ich nicht mag, anstatt manuell zuzulassen, dass ich will, aber angesichts der geringen Öffentlichkeit kann ich damit umgehen.

    
nXu 19.01.2015, 15:00
quelle
2

Nun, die Grafik-API bietet diese Funktionalität, wie Sie gesagt haben, Sie würden nur Benutzerrechte benötigen, keine Facebooks. Da Sie die Notwendigkeit und den Nutzen dieser Erlaubnis mitteilen könnten, müssten Sie sie einfach aufschreiben, irgendwo in der Nähe Ihrer Registrierung / Anmeldung. Sie müssen dann die user_groups innerhalb der Bereichsvariablen angeben, die Sie mit der getLoginUrl-Methode senden.

%Vor%

Ich habe diesen Code nicht getestet, da ich keine Installation zur Hand habe, aber von allem, was ich gerade gelesen habe, ist es so, wie es funktionieren sollte

Bearbeiten: Fast vergessen, Sie würden die Daten aus Ihrem Facebook-Objekt mit der folgenden Notation erhalten:

%Vor%     
ricktap 17.01.2015 14:25
quelle
0

Ja, das ist ziemlich "spaßig" zu implementieren. Ich erinnere mich, dass ich es konnte, aber ich habe leider keinen speziellen Code, um zu helfen. Ich kann Ihnen sagen, dass es mehrere Tokens benötigt.

Wenn ich mich richtig erinnere, ist dies der logische Fluss:

Erhalte das eigene Token des Benutzers.
Dann das Token der Gruppe mit dem Token des Benutzers.

Und dann würden Sie die Daten steuern, die die Person aus Ihrer Anwendung an die Gruppe senden darf.

    
Rudi Strydom 24.01.2015 13:27
quelle