Получение широты / долготы текущего_ местоположения друга с помощью Graph 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
            )

Который не содержит долготу и широту текущего_location (Нью-Йорк в приведенном выше примере)

Поэтому теперь мне нужно взять идентификатор current_location (например, 108424279189115) и запустить второй запрос FQL, например:

"SELECT location,name FROM page WHERE page_id = 108424279189115)"

Чтобы получить широту и долготу current_location. В настоящее время у меня есть рабочий код, который выполняет первый запрос FQL, затем извлекает page_id в php, а затем выполняет второй запрос FQL, чтобы получить широту / долготу current_location.Однако из соображений производительности я хотел бы запустить только один мультизапрос, если это возможно.

5
задан pyro70 15 January 2012 в 04:59
поделиться