Учитывая ссылку на фотографию в фейсбуке вот так:
http://www.facebook.com/photo.php?pid=123&id=456
как я могу получить внутренний идентификатор Facebook для фотографии? «Pid» в ссылке не является «pid» в FQL в таблице «photo» из того, что я видел в своих экспериментах. Лучшее, что я могу придумать, - это прочитать все фотографии пользователя с использованием идентификатора пользователя (id = 456) и найти соответствующий URL ссылки, но это медленно и неуклюже. Есть ли более прямой подход?
Редактировать: это лучшее, что мне удалось придумать, оно работает, но возвращает много данных, если у пользователя много фотографий. Он выполняется достаточно быстро (1 секунда или около того), так что все в порядке, но я все же хотел бы знать, есть ли более прямой подход:
SELECT link,object_id,aid FROM photo WHERE aid in (SELECT aid FROM album WHERE owner=456);
, затем ищите результаты для соответствующей ссылки с подстрокой "pid = 123"
Оказывается, мне также нужен идентификатор объекта для альбома и его размер, поэтому затем я делаю второй запрос с помощью соответствия, найденной на первом шаге:
SELECT object_id,size FROM album WHERE aid='<aidFromStep1>' AND owner=456;