2012-03-01 9 views

risposta

3

Penso che dovresti usare la notifica FQL.
Ma la notifica in realtà è limitata agli ultimi 7 giorni.

Prova questa ricerca:

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

Aggiornamento:

Un altro approccio, un po 'difficile.
Si dovrebbe essere in grado di avere uno sguardo a un'amicizia più vecchio nella vostra 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 

In questo modo si ottiene tutte le righe che contengono le frasi are now friends o is now friends, (notare che frasi parole dipende dal cliente() locali? impostazioni). Così si hanno tutte le righe:

  • X e Y sono ora amici
  • X e 'amico di X e Y ...

Ogni query della tabella flusso è limitato ai 30 giorni precedenti o ai 50 post, a seconda di quale è maggiore, tuttavia è possibile utilizzare campi specifici del tempo come created_time insieme agli operatori FQL (come < o>) per recuperare una gamma molto più ampia di post. https://developers.facebook.com/docs/reference/fql/stream/

Aggiornamento 2:

Se si desidera utilizzare solo API grafico, per quanto so che hai stessa limitazione di FQL (vale a dire si è limitato a durare 7 giorni).

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

Ma questo caso, non è possibile filtrare per object_type e si deve trovare tutti i title CONTIENE "accepted your friend request"

+0

Stiamo usando grafico api, qualche idea? – PrateekSaluja

+0

Hai provato 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; 
Problemi correlati