Ist es möglich, Folgendes zu implementieren? Ich möchte eine iOS-Anwendung erstellen, mit der der Benutzer alle seine Facebook-Freunde sehen kann, die diese Anwendung bereits in ihrer Facebook-Liste haben. Ist es erreichbar über Facebook Connect oder Graph API oder vielleicht etwas anderes?Woher weiß ich, welche Facebook-Freunde des Benutzers meine Anwendung installiert haben?
Antwort
Ja, es ist möglich.
- Sie müssen Ihre eigene Datenbank pflegen, wer die Anwendung installiert hat.
- Wenn ein Benutzer die Anwendung installiert, stellen sie über eine der APIs eine Verbindung mit Facebook her, rufen ihre Benutzer-ID ab und senden sie an die Datenbank mit dem Kennzeichen, dass der Benutzer die Anwendung installiert hat.
- Dann fragen Sie Facebook über eine seiner APIs nach der ID-Liste der Freunde dieses Benutzers und fragen Sie dann Ihre Datenbank, ob für eine dieser IDs das entsprechende Flag gesetzt ist.
nice approach, +1 – MrTJ
Dies ist wirklich langsam für Anwendungen, die keine lokale Datenbank von Benutzern speichern, die die Anwendung installiert haben (dies kann unangemessen groß sein), und in jedem Fall ist es ungenau, wenn ein neuer Benutzer die Anwendung installiert und die lokale Datenbank zeichnet die Änderung nicht auf. Die beste Methode ist es, die Grafik-API für die "installierte" Eigenschaft zu fragen - http://stackoverflow.com/a/12280544/267814 –
Wenn Sie die Facebook-Tutorial iOS Tutorial gefolgt.
Sie sollten Zugang zu einem "facebook" Objekt in Ihrer AppDelegate.m
Datei haben. Dieses "Facebook" -Objekt wurde bereits mit Ihrer spezifischen Anwendungs-ID registriert. Sie können ihn dann verwenden, um nach den Freunden des aktuellen Benutzers zu suchen, die die Anwendung bereits installiert haben.
Hier ist die Facebook-Abfrage Freund Daten abzurufen:
NSString *fql = [NSString stringWithFormat:@"Select name, uid, pic_small from user where is_app_user = 1 and uid in (select uid2 from friend where uid1 = %@) order by concat(first_name,last_name) asc", _replace_this_with_the_fb_id_of_the_current_user_ ];
Das ist großartig, danke. Hier ist die rohe FQL ---> Wählen Sie den Namen, uid, pic_small von Benutzer, wo is_app_user = 1 und uid in (wählen Sie uid2 von Freund wo uid1 = me()) Reihenfolge von concat (first_name, last_name) asc – Joe
Ja Sie es mit der neuen Facebook-SDK 3.5 tun kann und mehr (2013 Juni) mit GraphAPI. Sie können die deviceFilteredFriends änderbaren Array verwenden später, wie Sie wollen ...
// The Array for the filtered friends
NSMutableArray *installedFilteredFriends = [[NSMutableArray alloc] init];
// Request the list of friends of the logged in user (me)
[[FBRequest requestForGraphPath:@"me/friends?fields=installed"]
startWithCompletionHandler:
^(FBRequestConnection *connection,
NSDictionary *result,
NSError *error) {
// If we get a result with no errors...
if (!error && result)
{
// here is the result in a dictionary under a key "data"
NSArray *allFriendsResultData = [result objectForKey:@"data"];
if ([allFriendsResultData count] > 0)
{
// Loop through the friends
for (NSDictionary *friendObject in allFriendsResultData) {
// Check if installed data available
if ([friendObject objectForKey:@"installed"]) {
[installedFilteredFriends addObject: [friendObject objectForKey:@"id"]];
break;
}
}
}
}
}];
Verwenden Facebook-Login und fragen dann für die Freunde des Benutzers. Sie erhalten nur diejenigen, die die anfragende App installiert haben (es verwendet alle Freunde mit einer 'installierten' Flag)
- 1. Woher weiß ich, welche Version des IIS7 URL Rewrite-Moduls installiert ist?
- 2. Android/Google + Wie man weiß, ob Freunde des Benutzers Anwendung installiert haben
- 3. Woher weiß Chocolatey, welche Pakete lokal installiert sind?
- 4. Woher weiß Haskell, welche Typklasseninstanz Sie meinen?
- 5. Woher weiß ich, ob das richtige .NET Framework installiert ist?
- 6. Woher weiß ich, welche Pixeldichte-Version eines Bilds Android verwendet?
- 7. Woher weiß ich, welche Servlet- und JSP-Version ich verwende?
- 8. Woher weiß ich, welche Version von Servlet-api.jar ich habe?
- 9. Woher weiß Django, welche Migrationen durchgeführt wurden?
- 10. Woher weiß ich, ob meine App mit Robolectric läuft?
- 11. Woher weiß ich, in welche Richtung der Benutzer geklaut hat?
- 12. Woher weiß ich, welche Bluetooth-Stacks in meinem Handy installiert sind und wie sie funktionieren?
- 13. Woher weiß Bash, wo meine Variablennamen enden?
- 14. Php - Javascript - Woher weiß ich, welche Seiten in Farbe und welche in Schwarz-Weiß sind?
- 15. Woher weiß ich, welche serielle Schnittstelle unter Linux verwendet wird?
- 16. Woher weiß ich, ob meine PHP-Anwendung zu viel Speicher verbraucht?
- 17. Woher weiß CMake, welche Version von Qt verwendet werden soll?
- 18. Woher weiß ich, dass meine Ansicht am vordersten/bedeckt ist?
- 19. Woher weiß ich, welche Vorverarbeitung für das Modell verwendet wurde?
- 20. Woher weiß ich, welche Parameter nl80211 Befehle benötigen?
- 21. Haskell Woher weiß ich, GHCi arbeitet korrekt
- 22. Wie sollte meine Cocoa-Anwendung den Lizenzschlüssel des Benutzers speichern?
- 23. Woher weiß man, dass eine Anwendung von Google Play oder Side-Load installiert ist?
- 24. Woher weiß ich, dass meine Anwendung nicht zur Firewall hinzugefügt wurde?
- 25. Woher weiß ich, dass meine Android-Anwendung aktualisiert wurde, um einen Alarm zurückzusetzen?
- 26. Woher weiß ich, ob Tabellenkalkulationsfelder mithilfe des Google Apps-Skripts
- 27. Woher weiß C++, welche Methoden eine Vorlagenklasse beim Kompilieren unterstützt?
- 28. Woher weiß Bundler, welche Umgebung zu verwenden ist?
- 29. Woher weiß Swift zur Laufzeit, welche Implementierung verwendet werden soll?
- 30. BeanFactoryAware ?? Woher weiß es, welche BeanFactory zu verwenden ist?
es ist natürlich möglich =) zum Beispiel 'draw something' tut genau das. Ich kann dir nicht sagen, wie, aber ich weiß, dass es möglich ist =) krank markieren diesen Thread, in der Hoffnung, eine gute Antwort auf wie auch zu lesen. –