2012-04-18 3 views
1

Я работаю над приложением php, чтобы создать список моих друзей в Facebook, которые играют в Castleville. Я успешно настроить мой проект, чтобы подключиться к Facebook, и выполнить запрос FQL, чтобы получить все мои facebook друзьям:Приложение для извлечения Castleville соседей из Facebook список друзей

// other stuff, init, etc... 

$fql = 
"SELECT uid, name, pic_square 
FROM user 
WHERE uid IN 
(SELECT uid2 FROM friend WHERE uid1 = me())"; 

$param = array(
     'method' => 'fql.query', 
     'query'  => $fql, 
     'callback' => '' 
    ); 

// query facebook 
$fqlResult = $facebook->api($param); 

// parse results 
foreach ($fqlResult as $values) { 
    // process values 
} 

...

CastleVille имеет APP_ID = 107040076067341

Я хотел бы знать, как запросить таблицу приложений для достижения желаемого результата.

Любая помощь будет оценена по достоинству.

...

...

СПУСТЯ EDIT: (успех)

Спасибо за помощь, это было очень полезно. Я изменил код, чтобы извлекать записи из потока каждого из моих друзей, и проверить, был ли app_id Castleville. Для каждого из моих друзей, я побежал следующий FQL запрос:

$fql_select_stream = 
"SELECT attribution 
FROM stream 
WHERE source_id = " . $values['uid'] . " and app_id = " . CASTLEVILLE_APP_ID . " limit 1"; 

// $values['uid'] is the facebook user ID for the friend 

$res = $facebook->api(array(
       'method' => 'fql.query', 
       'query'  => $fql_select_stream, 
       'callback' => '')); 

если $ Реза не пусто ... у нас есть активный игрок CastleVille!

+0

Я не думаю, что вы можете этого достичь. Нет необходимости «заявлений» на это прямо, и нет конечной точки для доступа к нему. В верхней части этого вопроса, вероятно, будет высказано мнение, что приложения не должны знать друг о друге, или доступ слишком сложный, слишком кодекс. Например, вы можете проверить, пользователь установил castleville, но также заметил, что они установили другое приложение (скажем, возможно, более взрослого характера), и они не захотят раскрывать это. Я считаю, что здесь важна конфиденциальность. Я разместил это как комментарий, так как мне было бы интересно, что другие должны сказать – TommyBs

ответ

0

Вы не можете видеть, если друзья пользователя используют конкретное приложение, если вы не вызываете вызов API от имени того же приложения. Если это ваше собственное приложение, и вы только что упоминали о Castleville в качестве примера, делать то, что вы просите, объясняется в моем ответе здесь: http://facebook.stackoverflow.com/a/7957310/21062

Aso актуальный: Is it Possible to FQL list of friends who own specific phone ?(query from wallpost source) - где кто-то хотел узнать, как узнать, какие друзья пользователя используют определенные телефоны - я предложил им изучить ленту новостей пользователя и посмотрите, какие приложения сделали эту запись. В вашем случае вы можете проверить, не был ли какой-либо из друзей пользователя размещен контент из Castleville на их временной шкале.

+0

Спасибо .. отредактировал исходное сообщение для моего решения на основе вашего ответа. –

+0

Просто имейте в виду, что это не определенный список «друзей, которые играют в Castleville», это «друзья, которые выложили что-то из Castleville, которая видна мне», - может быть, все в порядке для ваших требований – Igy