2011-09-07 17 views
7

बनाया है, मैं यह निर्धारित करने की कोशिश कर रहा हूं कि कोई उपयोगकर्ता फेसबुक में कब शामिल होता है। अब तक जो कुछ हुआ है, वह उपयोगकर्ताओं के प्रोफाइल चित्रों को पहले स्कैन कर रहा है (मुझे याद है कि शुरुआती दिनों में, फेसबुक ने आपको एक प्रोफ़ाइल तस्वीर अपलोड करने के लिए मजबूर किया) और वहां से टाइमस्टैम्प लें। मैंने दीवार पोस्ट के साथ भी वही काम करने का विचार किया ...निर्धारित करता है कि उपयोगकर्ता ने फेसबुक खाता

क्या किसी के पास कोई विचार है कि उपयोगकर्ता ने अपना खाता कब बनाया है, इस बारे में सबसे सटीक जानकारी कैसे प्राप्त करें?

+0

थोड़ा के लिए Google पर साथ, नहीं लगता है। – apscience

उत्तर

12

इस क्षेत्र है, लेकिन क्या कई अनुप्रयोगों अनुमान लगाने के लिए इस 'प्रोफ़ाइल चित्र' एल्बम में सबसे पुराना तस्वीर ले कर पाने के लिए कोई तरीका नहीं है - जो मेरे लिए अपने वास्तविक साइनअप तिथि से एक सप्ताह के भीतर है

+0

प्रोफ़ाइल चित्र सबसे अच्छा है जिसके बारे में मैं सोच सकता हूं, अन्य पोस्ट जून (200 9) से पहले उपलब्ध नहीं हैं, इसलिए पिछले – Igy

1

सबसे पुराने उपयोगकर्ता की प्रोफ़ाइल तस्वीर या एल्बम (जो हर समय काम नहीं करता है) को देखने के अलावा, आप अनुमानित कर सकते हैं फेसबुक खाता निर्माण दिनांक सबसे पुराने उपयोगकर्ता पोस्ट की निर्माण तिथि ढूंढकर (आप ऐसा करने के लिए कुछ कोड पा सकते हैं here)।

एक और दृष्टिकोण here समझाया गया है। यह दिखाता है कि फेसबुक एपीआई को कॉल किए बिना फेसबुक अकाउंट को बनाने के बिना फेसबुक अकाउंट की सृजन तिथि को कैसे पता चलाना है, बस उपयोगकर्ता के फेसबुक यूआईडी के आधार पर। आप फेसबुक यूआईडी और फेसबुक अकाउंट क्रिएशन डेट के बीच सहसंबंध दिखाते हुए लुकअप टेबल here भी डाउनलोड कर सकते हैं।

5

मैं सोच रहा था - शायद आईडी एक उपयोगी उपकरण होगा। प्रत्येक बार जब कोई उपयोगकर्ता नए accouts बनाता है तो उसे उच्च आईडी प्राप्त करनी चाहिए। मैंने गुमराह किया और पाया कि metadatascience.com से ID और Massoud Seifi द्वारा accout निर्माण दिनांक का आकलन करने का एक तरीका है इसके बारे में कुछ अच्छा डेटा एकत्र किया। है कुछ आईडी downlaod करने

http://metadatascience.com/2013/03/11/inferring-facebook-account-creation-date-from-facebook-user-id/

और यहाँ: enter image description here

यह लेख पढ़ें

http://metadatascience.com/2013/03/14/lookup-table-for-inferring-facebook-account-creation-date-from-facebook-user-id/

+1

में फ़ोटो खोजना सबसे आसान है, यह समाधान सबसे अच्छा था, लेकिन मुझे लगता है कि यह अब नहीं है ऐप-स्कोप्ड उपयोगकर्ता-आईडी के परिचय के बाद से काम करता है, यहां अधिक जानकारी: https://developers.facebook.com/docs/apps/upgrading/#upgrading_v2_0_user_ids –

+1

मैं पिछले साल से इस विधि का उपयोग कर रहा था और मैं पुष्टि कर सकता हूं कि यह अब और काम नहीं करता है। – Coccodrillo

0

आप वास्तव में जब कोई उपयोगकर्ता फेसबुक में शामिल होने की थी खोजने की कोशिश कर रहे हैं, तो मैं दूसरे के उत्तरों से सहमत हूं।

मैं सबसे अच्छा तरीका खोजने में सक्षम हूं (जो सस्ता कई पदों के माध्यम से दोहराने के बजाय) उपयोगकर्ता की सबसे पुरानी "प्रोफ़ाइल चित्र" तक पहुंच रहा है। यह धारणा बना रहा है कि उपयोगकर्ता अपना खाता बनाने के तुरंत बाद प्रोफाइल चित्र पोस्ट करेगा।

या क्यों नहीं सिर्फ उपयोग प्रोफ़ाइल चित्र एल्बम? एक बार जब आप "प्रोफ़ाइल चित्र" एल्बम तक पहुंच प्राप्त कर सकते हैं, तो आप एल्बम के लिए created_time फ़ील्ड का उपयोग करने में सक्षम हो सकते हैं (या अलग-अलग फ़ोटो के लिए create_time द्वारा प्रोफ़ाइल चित्रों को सॉर्ट करें)।

भले ही सबसे पुरानी तस्वीर हटा दी गई हो, फिर भी उपयोगकर्ता किसी भी प्रोफ़ाइल तस्वीर के बिना लंबे समय तक रहता है?

संदर्भ: https://developers.facebook.com/docs/graph-api/reference/v2.0/album

1

प्रोफ़ाइल तस्वीर सुझाव का उपयोग करना, यह कैसे मैंने किया है: शायद नहीं सबसे अच्छा तरीका है, लेकिन यह सबसे अच्छा मैं अपने वास्तविक उद्देश्य सी ज्ञान के साथ कर सकते है

__block NSDate *oldestPictureDate = [NSDate date]; 
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"albums.fields(name,photos.fields(created_time))"}] 
    startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
      NSArray* albums = result[@"albums"][@"data"]; 
      NSUInteger index = [albums indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) { 
       return [obj[@"name"] isEqualToString: @"Profile Pictures"];}]; 
      if (index != NSNotFound) { 
       NSDictionary *profileImages = albums[index]; 
       NSDictionary *photos = profileImages[@"photos"]; 
       NSArray *data = photos[@"data"]; 
       for (NSDictionary *picture in data) { 
        NSDate* pictureCreationDate = [localDateYYYYMMDD dateFromString:[picture[@"created_time"] substringToIndex:10]]; 
        if([oldestPictureDate compare:pictureCreationDate] > 0) oldestPictureDate = pictureCreationDate; 
       } 
      } 
    } 
]; 

localDateYYYYMMDD = [[NSDateFormatter alloc] init]; 
[localDateYYYYMMDD setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
[localDateYYYYMMDD setDateFormat:@"yyyy-MM-dd"]; 
संबंधित मुद्दे