2012-03-01 10 views
11

हम पिछले महीने में फेसबुक उपयोगकर्ता द्वारा जोड़ा मित्रों की संख्या प्राप्त करने की जरूरत है। हमने ग्राफ एपीआई में खोज की है, लेकिन कोई समाधान नहीं मिला है।अवधि के विशिष्ट समय में फेसबुक उपयोगकर्ता द्वारा जोड़े गए दोस्तों की संख्या कैसे प्राप्त करें?

उत्तर

3

मुझे लगता है कि आप FQL अधिसूचना का उपयोग करना चाहिए।
लेकिन अधिसूचना वास्तव में 7 दिनों तक तक सीमित हैं।

इस क्वेरी का प्रयास करें:

SELECT created_time, sender_id, title_html, href, object_type 
FROM notification 
WHERE recipient_id=me() and object_type = 'friend' 

अद्यतन:

एक और दृष्टिकोण, एक छोटा सा मुश्किल।
आप अपने stream में बड़े दोस्ती पर एक नजर है करने के लिए सक्षम होना चाहिए:

SELECT created_time, description FROM stream WHERE source_id = me() 
and (strpos(lower(description),'are now friends') > 0 
    or strpos(lower(description),'is now friends') > 0) 
limit 50 

इस तरह से आप वाक्य are now friends या is now friends युक्त सभी पंक्तियों, (ध्यान दें कि वाक्य में शब्दों की ग्राहक से निर्भर करता है (पाने में) स्थान? सेटिंग्स)। तो तुम सभी पंक्तियों की भरपाई करेंगे:

  • एक्स और वाई अब दोस्त हैं
  • एक्स अब मित्र एक्स और वाई के साथ है ...

धारा तालिका के प्रत्येक क्वेरी सीमित है पिछले 30 दिनों या 50 पदों, जो भी अधिक करने के लिए, फिर भी आप पदों की एक बहुत बड़ी रेंज को पुनः प्राप्त करने के लिए इस तरह FQL ऑपरेटरों (जैसे < या>) के साथ created_time के रूप में समय-विशिष्ट फ़ील्ड का उपयोग कर सकते हैं। https://developers.facebook.com/docs/reference/fql/stream/

अद्यतन 2:

आप केवल ग्राफ एपीआई का उपयोग करना चाहते हैं, जहाँ तक मुझे पता है तुम fql का एक ही सीमा (अर्थात आप 7 दिनों तक के लिए सीमित कर रहे हैं) है।

https://graph.facebook.com/me/notifications?include_read=1

लेकिन इस मामले के लिए, आप object_type के लिए फ़िल्टर नहीं कर सकते और आप सभी title containings "accepted your friend request" खोजने होंगे

+0

हम ग्राफ एपीआई का उपयोग कर रहे हैं, किसी भी विचार? – PrateekSaluja

+0

क्या आपने https://graph.facebook.com/me/notifications?include_read=1 को आजमाया है – freedev

0
try this.. 
$count=0; 
$fbid=xxxxx; 
$onemonthbefore = strtotime(date("Y-m-d",strtotime("-1 Months"))); 
$ss=urlencode("SELECT created_time,description_tags,source_id,description FROM  stream WHERE source_id = xxxxxx and (strpos(lower(description),'are now friends') > 0 or strpos(lower(description),'is now friends') > 0) limit 100"); 
$sql="https://graph.facebook.com/fql?q=$ss&access_token=xxxxxxxxx&format=json& date_format=U"; 
$new =file_get_contents($sql); 
$new =json_decode($new); 
foreach ($new->data as $data) 
{ 
    if($data->created_time > $onemonthbefore) 
    { 
    foreach ($data->description_tags as $tags) 
    { 

    foreach ($tags as $friend) 
    { 
    if($friend->id !=$fbid) 
     { 
     $count++; 
     } 
    } 
} 
} 
} 
echo "new friends=".$count; 
संबंधित मुद्दे

 संबंधित मुद्दे