#facebook #facebook-fql
#Facebook #facebook-fql
Вопрос:
Я пытаюсь правильно понять синтаксис Facebook для fql.query. Контекст для этого запроса заключается в том, чтобы получить всех общих друзей между двумя пользователями. Используя пример «user1 = dusty24» и «user2 = april1991», какими будут значения для следующих переменных?
- uid1
- uid2
- source_uid
- target_uid
Можно с уверенностью предположить, что ‘uid1 = dusty24’ и ‘uid2 = april1991’, но, черт возьми, каковы значения для ‘source_uid’ и ‘target_uid’?
FB.api(
{
method: 'fql.query',
query: 'SELECT uid1 FROM friend WHERE uid1 IN (SELECT uid2 FROM friend WHERE uid1=source_uid) AND uid2=target_uid'
},
function(response) {
console.log(response);
}
}
Ответ №1:
Я быстро прочитал документацию, в ней говорится, что uid1 — это идентификатор пользователя первого пользователя пары, а uid2 — второго пользователя пары. Это поля из таблицы. Вы не изменяете их в запросе. В конечном итоге source_uid и target_uid будут идентификаторами пользователей каждого из этих пользователей.
Предполагая, что ваш запрос работает правильно. В конечном итоге вы бы выглядели примерно так. Примечание: вам нужно будет предварительно получить идентификатор пользователя двух ваших пользователей.
SELECT uid1 FROM friend
WHERE uid1 IN
( SELECT uid2 FROM friend WHERE uid1={*dusty24 uid*} )
AND uid2={*april1991 uid*}
Комментарии:
1. Не уверен, что мой синтаксис правильный, но то, что вы написали, кажется законным.