Получить широту / долготу текущего местоположения друга, используя график FQL
Я пытаюсь получить широту / долготу всех друзей пользователя, используя один вызов API. Я считаю, что мне нужно написать FQL-оператор для нескольких запросов, но я не могу получить правильный синтаксис.
Я считаю, что эти два запроса должны быть примерно такими:
'"friends":"SELECT uid,current_location FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"'
'"location":"SELECT location FROM page WHERE id IN (SELECT current_location_id FROM #friends)"';
Моя проблема в том, что каким-то образом мне нужно получить идентификатор current_location в первом запросе, чтобы я мог ссылаться на него во втором запросе, но я знаю только, как получить массив, содержащий идентификатор.
Спасибо за любую помощь!
Разъяснение:
Я не пытаюсь пройти регистрацию друзей. Вместо этого я хочу построить график "current_location" (то есть, где они живут) всех друзей пользователя на географической карте. Я могу получить "current_location" пользователя с помощью следующего FQL-запроса:
"SELECT uid,sex,current_location FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"
Этот запрос возвращает следующий массив:
[current_location] => Array
(
[city] => New York
[state] => New York
[country] => United States
[zip] =>
[id] => 108424279189115
[name] => New York, New York
)
Который не содержит долготы и широты текущего_ местоположения (Нью-Йорк в приведенном выше примере)
Поэтому теперь мне нужно взять идентификатор current_location (например, 108424279189115) и выполнить второй запрос FQL, например:
"SELECT location,name FROM page WHERE page_id = 108424279189115)"
Получить широту и долготу current_location. В настоящее время у меня есть рабочий код, который запускает первый запрос FQL, затем извлекает page_id из php, а затем запускает второй запрос FQL, чтобы получить текущую / широту / долготу. Однако из соображений производительности я хотел бы выполнить только один мультизапрос, если это возможно.