Приложение для извлечения соседей Castleville из списка друзей Facebook

Я работаю над php-приложением, чтобы создать список моих друзей на Facebook, которые играют в Castleville. Я успешно настроил свой проект для подключения к Facebook и выполнил запрос FQL, чтобы получить всех моих друзей из 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 
}

...

Кастлвилл имеет app_id = 107040076067341.

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

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

...

...

ПОЗЖЕ РЕДАКТИРОВАТЬ: (успех)

Спасибо за помощь, это было действительно полезно. Я изменил код, чтобы получить записи из потока каждого из моих друзей и проверить, принадлежит ли 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'  => ''));

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


person Dan Munteanu    schedule 18.04.2012    source источник
comment
Я не думаю, что вы можете добиться этого. У приложений нет разрешений, чтобы явно запрашивать это, и нет конечной точки для доступа к ним. Кроме того, Facebook, вероятно, считает, что приложения не должны не знать друг о друге, или доступ слишком сложен для кода. Например, вы можете проверить, установил ли пользователь Castleville, но также заметить, что он установил другое приложение (скажем, более взрослое) и они не будут хочу разоблачить это. Я думаю, что здесь главное - конфиденциальность. Я разместил это как комментарий, так как мне было бы интересно, что скажут другие.   -  person TommyBs    schedule 18.04.2012


Ответы (1)


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

Также актуально: wallpo/6774447#6774447">Возможно ли получить FQL-список друзей, владеющих определенным телефоном? (запрос из источника на стене) - если кто-то хотел узнать, как узнать, кто из друзей пользователя использует определенные телефоны - я предложил они изучают новостную ленту пользователя и видят, какие приложения сделали публикацию. В вашем случае вы можете проверить, размещал ли кто-либо из друзей пользователя контент из Castleville на своей временной шкале.

person Igy    schedule 18.04.2012
comment
Спасибо .. отредактировал исходный пост для моего решения на основе вашего ответа. - person Dan Munteanu; 19.04.2012
comment
Просто имейте в виду, что это не определенный список «друзей, которые играют в Castleville», это «друзья, которые опубликовали что-то из Castleville, что видно мне» — хотя может подойти для ваших требований. - person Igy; 19.04.2012