2016-07-27 14 views
1

Ich habe alle meine Benutzer auf der Serverseite meiner App verfolgt (Speicherung ihrer Facebook IDs (im Rahmen meiner App natürlich)), aber da ich Facebook-ID von jedem finden kann, der Facebook mit dieser Website verwendet: http://findmyfbid.com/ , natürlich sind diese IDs nicht in meinem Anwendungsbereich, ich kann ihre grundlegenden, öffentlich verfügbaren Informationen wie ID, Name usw. abrufen. Aber ich brauche einen Weg zu wissen, ob der Nutzer meine App installiert hat oder nicht. Nur so habe ich festgestellt, dass Facebook mich darüber informiert, dass Nutzer meine App nicht installiert haben, wenn ich versuche, ihnen eine Benachrichtigung zu schicken. Dann erhalte ich diese Antwort von Graph:PHP SDK - Woher weiß ich, ob eine Person von Facebook meine App auf Facebook installiert und autorisiert hat?

Graph returned an error: (#200) Cannot send notifications to a user who has not installed the app Graph returned an error: 403

Gibt es eine andere Möglichkeit, um herauszufinden, wenn der Benutzer autorisiert hat und installiert meine App abgesehen von post-Methode aufrufen und die Benachrichtigung zu senden?

+0

sehe meine Antwort. Es wäre einfacher zu beantworten, wenn Sie einen Anwendungsfall präsentieren würden. Warum möchten Sie wissen, ob ein bestimmter Nutzer Ihre App autorisiert hat? – luschn

Antwort

0

Diese ID, die du von findyfbid.com bekommst, ist die "global/real" ID, du solltest diese nie brauchen/benutzen und du solltest sie eigentlich gar nicht bekommen. Diese Seite scrappt die Profile, was auf Facebook nicht erlaubt ist. Nach der Autorisierung erhalten Sie eine "App Scoped ID", die Sie verwenden müssen.

Wie auch immer, Sie können nur alle autorisierten Benutzer in einer Datenbank speichern, direkt nachdem sie Ihre App autorisiert haben (Weil Sie wissen, wann sie das tun). Und in den App-Einstellungen gibt es einen "Deauthorization Callback", wenn Sie wissen wollen, ob jemand Ihre App autorisiert hat - Sie können diesen Benutzer dann aus Ihrer Datenbank entfernen (und sollten ihn entfernen).

+0

Hey, danke für die schnelle Antwort. Eine andere Frage bitte, weißt du, ob ich diese autorisierten Benutzer durch den Graph API Aufruf erreichen könnte? – Ognj3n

+0

nein, Sie müssten sie auf eigene Faust speichern. Es gibt keine API, um "alle autorisierten Benutzer" zu erhalten. – luschn