Помощь с fql.multiQuery
-
20-09-2019 - |
Вопрос
Я играюсь с методом fql.multiQuery API Facebook.Я просто использую Консоль тестирования API, и пытается получить успешный ответ, но не может точно понять, чего он хочет.
Вот текст, который я ввожу в поле «запросы»:
{"tags" : "select subject
from photo_tag
where subject != 601599551
and pid in (
select pid
from photo_tag
where subject = 601599551
)
and subject in (
select uid2
from friend
where uid1 = 601599551
)",
"foo" : "select uid from user where uid = 601599551"}
Все, что это даст мне, это queries parameter: array expected.
ошибка.
Я также испробовал практически все варианты, которые только мог придумать, включая заключение пар имя/запрос в их собственные фигурные скобки, добавление скобок, добавление пробелов, удаление пробелов на случай, если ассоциативный массив не нужен (для тех, кто следит за изменениями). , я только сейчас узнал об этих замечательных вещах...ой), все безрезультатно.Есть ли что-то до боли очевидное, что я здесь упускаю, или мне нужно сделать что-то вроде Чак Норрис Джон Скит и просто воля это выполнить мою волю?
Обновлять: Примечание для тех, кто находит этот вопрос сейчас:А тестовая консоль fql.multiquery кажется сломанным.Вы можете протестировать свой запрос, щелкнув сгенерированный URL-адрес в тестовой консоли и вручную добавив параметр «queries» в строку запроса.
Решение
Видимо, я был не так уж далек от истины с комментарием Джона Скита...Кажется, тестовая консоль ОЧЕНЬ требовательна к тому, какие пробелы вы можете использовать:
http://bugs.developers.facebook.com/show_bug.cgi?id=6403
Вот что мне пришлось сделать со своим кодом:
{"tags":"select subject from photo_tag where subject != 601599551 and pid in (select pid from photo_tag where subject = 601599551 ) and subject in (select uid2 from friend where uid1 = 601599551 )","foo":"select uid from user where uid = 601599551"}
Потрясающий.Потому что это удобочитаемый.