Синтаксис Facebook fql.query

#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. Не уверен, что мой синтаксис правильный, но то, что вы написали, кажется законным.