Uygulamanızın yüklü olduğu arkadaşların listesini almak için facebook ios API ile bir yol var mı? Temelde, FB arkadaşlarından hangisinin oyunu oynadığını belirleyebilecekleri "Friends with Friends" e benzer bir şey istiyorum. Ekstra veritabanı kullanımı gerektiren bir çözümüm var ama belki de FB api'nin bu tür bir sorgu için yerleşik bir şey oluşturduğunu umuyordum.iOS facebook Arkadaşların uygulaması yüklendi mi kontrol edin
cevap
bir FBFriendPickerDelegate
temsilci sınıf oluşturun ve geçersiz bu işlevi: Uygulamanızın yüklü olmayan kullanıcılar için
-(BOOL)friendPickerViewController:(FBFriendPickerViewController *)friendPicker shouldIncludeUser:(id<FBGraphUser>)user{
BOOL installed = [user objectForKey:@"installed"] != nil;
return installed;
}
, installed
alan nil
olacak, ama sen verileri yüklemek, onu istemek zorunda :
self.friendsController = [[FBFriendPickerViewController alloc] initWithNibName:nil bundle:nil];
//...
NSSet *fields = [NSSet setWithObjects:@"installed", nil];
self.friendPickerController.fieldsForRequest = fields;
//...
[self.friendsController loadData];
Nasıl test edebilirim? Simülatörde test etmek istiyorum. Ama şu anda fb arkadaş listesindeki arkadaşımın hiçbiri şu anda geliştirilme aşamasında olan bir uygulamaya sahip değil. Boş liste alıyorum (refrence: arkadaş seçici denetleyici örneği). Uygulama kullanıcı listesinde görüntülenebilecek bir kukla kullanıcı (fb arkadaş) nasıl oluşturabilirim? – Rakesh
Facebook'a gidin ve yeni bir kullanıcı kaydedin, onu arkadaşlarınıza ekleyin ve uygulamayı onun hesabına yükleyin. Açık olması gerektiğini düşündüm. – pckill
evet anladım .. Yanıt için teşekkürler .. Bir kullanıcı bir facebook kullanarak facebook oturum açtığında facebook otomatik olarak referans depolar .. – Rakesh
Bir kullanıcıdan arkadaşlarınızı kullanarak uygulama almak için bu kodu geçmişte kullandım.
facebook
, FB Connect ile birlikte gelen Facebook
sınıftır.
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",userId,userId]];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:fql ,@"query", [facebook accessToken], @"access_token", nil];
[facebook requestWithMethodName:@"fql.query" andParams:params andHttpMethod:@"GET" andDelegate:self];
Oldukça zarif görünüyor ama FQL'e aşina değilim. Uygulamanızın uygulamasının nasıl olduğunu belirlersiniz? Gerekli bir uygulama kimliği olması gerektiğini düşündüm ya da is_app_user nedir? – Firefly
Facebook Connect for iOS'u kullanıyorsanız, uygulamanızın kimliğini belirlediğinizde kimliğinizi belirlemiş olmanız gerekir. facebook = [[Facebook ayırma] initWithAppId: yourAppId]; Bundan sonra tüm istekleriniz appid ile tanımlanır. is_app_user, belirli bir kullanıcının isteği gönderen uygulamayı yüklediğini belirten bir işarettir. –
Ah harika. Netleştirmek için çok teşekkürler! – Firefly
ben fql benim için biraz karmaşık olduğunu düşünüyorum, bu yüzden Grafik API çağrısı için FBRequest bu işlevi kullanın böylece lve Facebook SDK 3,5
+ (FBRequest *)requestWithGraphPath:(NSString*)graphPath parameters:(NSDictionary*)parameters HTTPMethod:(NSString*)HTTPMethod;
Ve kodunda bu sorunun:
FBRequest *request = [FBRequest requestWithGraphPath:@"me/friends"
parameters:@{@"fields":@"name,installed,first_name"}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBRequestConnection *connection,
id result,
NSError *error){
}];
Sen parametreler sözlükte tüm ilginç alanları koyabilirsiniz. Ve SDK Referansına göre, nesneyi içeren nesne (bu her zaman "kullanıcı"), id (kullanıcının kimliği) ve isteğe bağlı yüklü alan (her zaman iade edilirse doğrudur); Kullanıcı uygulama yüklü ise yüklü alan yalnızca aksi takdirde döndürülen nesne
kodunuzu kullanarak tüm arkadaşlarım nasıl app kullanıcı frinds almak için olsun? –
@kirtimali Döndürülen nesnede "yüklü" alanını kontrol edin. – DeXter
Çözümümü kurduğum için teşekkürler –
kolay çözeltisi FBFriendPickerDelegate protokolü tarafından uygulanan
- (BOOL)friendPickerViewController: shouldIncludeUser:
yöntemi kullanan bir parçası değildir, döndürülür son 3.5.1 Facebook SDK'sı (Haziran 2013), bir arkadaşın bana/arkadaş getirilirken "yüklü" alana dayalı olarak bir arkadaş eklemesini isteyip istemediğini sorarak.
Yüklenen alan, arkadaş da çağrı yapan uygulamanın kullanıcısıysa (true) mevcut.
Böyle kullanabilirsiniz:
- (BOOL)friendPickerViewController:(FBFriendPickerViewController *)friendPicker
shouldIncludeUser:(id <FBGraphUser>)user {
return [[user objectForKey:@"installed"] boolValue];
}
ÖNEMLİ! Sen istekte ve temsilci hakkında friendPicker bilgilendirmek alanını kapsayacak şekilde aşağıdakileri içermelidir:
self.fieldsForRequest = [NSSet setWithObject:@"installed"];
self.delegate = self;
Sen uygulamalar ile sadece arkadaş Grafik API kullanarak ekranı yüklü Grafik Api Explorer ile doğrulayabilirsiniz Explorer'ı tıklatıp sorguya girme
yüklü = ve geri kullanıcının biri (doğru) başvurunuzu yüklediği böyle arkadaşlarınız, bir listesini alabilirsiniz:me/friends?alanlar
...
{
"id": "100002656xxxxxx"
},
{
"installed": true,
"id": "100004366xxxxxx"
},
...
- 1. jQuery veya mooTools yüklendi mi kontrol edin
- 2. Facebook SDK Facebook uygulaması yüklü iOS uygulaması ile oturum aç
- 3. iOS uygulamasında dili kontrol edin
- 4. Tüm arkadaşların listesi C# Facebook SDK v5
- 5. Facebook uygulaması için yayınlama izinlerini test edin
- 6. iOS uygulamasında tabBar görünürse kontrol edin
- 7. Web2py çerçevesini kullanarak bir @mention (arkadaşların etiketlenmesi) uygulaması
- 8. Kullanıcının Facebook uygulaması yüklü olduğunu kontrol et
- 9. Oracle SQL, ağımdaki kullanıcının (yani arkadaşların veya arkadaşların arkadaşının)
- 10. IOS, GPS kapalıysa uygulamayı kontrol edin
- 11. Gönderen facebook facebook uygulaması
- 12. Precompile'da ARC'yi kontrol edin
- 13. iOS - Facebook
- 14. ios uygulaması
- 15. IOS uygulaması (Swift)
- 16. Eğer facebook-posta varsa veya olmasın android kontrol edin
- 17. Facebook messenger chatbot "Bağlantınızı kontrol edin ve tekrar deneyin."
- 18. Kitaplık yüklendi
- 19. Yayımlama Facebook ile giriş yapın IOS SDK
- 20. module wsgi_module halihazırda yüklendi,
- 21. Global typecast operator aşırı yüklendi mi?
- 22. Doğrudan bir görüntü açmak için yeni Facebook iOS 5 uygulaması için URL şeması (fb: //) mi arıyorsunuz?
- 23. kakao uygulamasında internet bağlantısını kontrol edin
- 24. Facebook iOS uygulaması mobil Safari'ye fbauth'dan sonra yönlendirme //
- 25. IOS: Facebook uygulaması olarak storyboard ve yan menü
- 26. Facebook iOS uygulaması Applinks etkin bağlantı için uygulamamı başlatmıyor
- 27. Facebook iOS uygulaması uygulama istekleri için neden bildirim almıyor?
- 28. URL'nin bugün iOS üzerinden açılıp açılmadığını kontrol edin
- 29. iOS WiFi desteğinin etkin olup olmadığını kontrol edin
- 30. iOS 7 SLComposeViewController: Tweet'in gerçekten gönderilip gönderilmediğini kontrol edin.
Related'i: [içinde FQL nasıl kullanılır “iOS SDK”] (http://stackoverflow.com/questions/4941430/fql-and-graph-api-in-ios) – darvids0n