Facebook: что не так с этим утверждением FQL? - PullRequest
2 голосов
/ 08 февраля 2011

Я пытаюсь получить некоторые данные о себе (вошли в систему) через API facebook.php.

Это работает:

SELECT name FROM user WHERE sex='female' AND uid IN ( SELECT uid2 FROM friend WHERE uid1= me() )

Это не работает: [дает «Исключение: 1: Произошла неизвестная ошибка»]

SELECT eid, name, location, start_time, pic_big, host, description FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = me() )

У меня есть следующие настройки разрешений:

App granted Perms

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Ваш запрос работает нормально для меня, скорее всего, это проблема с разрешением.Вы видите маленькую ссылку " Подробнее " под Access my Profile information?

Щелкните по нему, если вы не видите Events в списке, вам необходимо разрешение user_events.

РЕДАКТИРОВАТЬ:
Перейдите на fql.query, в консоли тестирования вставьте запрос и выберите приложение, вызывающее проблему ... если выполучил ожидаемый результат, то это как-то связано с вашим кодом (то, как вы вызываете запрос, будь то PHP или другой язык).

Если проблема не устранена, попробуйте предоставить разрешение create_event только для проверки.

0 голосов
/ 08 февраля 2011

Я не знаю API Facebook, но я бы начал с удаления всего лишнего

это работает?

SELECT `eid` FROM `event` 
WHERE `eid` IN 
( SELECT `eid` FROM `event_member` WHERE `uid` = me() )

или даже просто

SELECT `eid` FROM `event_member` WHERE `uid` = me()

если он добавляет к нему больше материала и не забывает обратные пометки.

Чтобы найти правильные поля, которые вы можете использовать ...

explain  `event` 

Это дает списокПоля и типы, предполагая, что Facebook использует mySQL

DC

Хмм, игнорируйте комментарии о обратных галочках и объясните, что они не используются в FQL, поэтому просто попробуйте упростить запрос, пока не произойдет ошибка, и вы не поймете, что ее вызывает.

DC

...