Я заканчиваю флэш-приложение.Вы можете увидеть приложение здесь:
https://apps.facebook.com/wacky-winter-woolies/
Приложение отправляет FQL-запрос для получения альбомов пользователя, генерирует эскизы на основе cover_object_id.Эта часть отлично работает.После нажатия на альбом приложение загружает эскизы фотографий таким же образом.Мы только что обнаружили, что, хотя это обычно работает, для некоторых людей и некоторых фотографий вместо миниатюры Facebook возвращает следующую ошибку:
{"error": {"message": "Неподдерживаемый запрос на получение. "," type ":" GraphMethodException "}} picture
URL-адрес запроса эскиза фотографии:
https://graph.facebook.com/(object_id)/picture?type=thumbnail&access_token=(valid_token)
Theзапрос, используемый для создания списка фотографий в альбоме:
var fql: String = "SELECT object_id, aid FROM photo WHERE aid = \" "+ aid +" \ "";
Разрешения для приложения:
'permissions' => 'publish_stream, user_photos, friends_photos'
По существу, некоторые фотографии возвращаютошибка.Object_id фотографии действителен, так как он извлекается прямо из результата FQL - вот пример фактического запроса, который возвращает ошибку, вместе с токеном
https: // graph.facebook.com/10150102643214148/picture? type = миниатюра & access_token = AAACJlS1owXcBAAh9KIBAYDobeWAvcuHdr96DHYpJJafhHjianz07jWZBYj6klqqZC4cYA2ZCOxTt2fOXCNAH4GBZCPK75nl 2d (не более) * * * * * * * * 8Как это можно исправить?
Edit1:
Это интересно.
Вот необработанные идентификаторы объекта из набора изображений.Один из них недействителен.Угадайте, что?
- 387476299148
- 387476299148
- 10150102643214148
- 492300644148
- 492300644148
По некоторым причинам для определенных картинок в альбоме FQL возвращает необычно длинный object_id.Эти длинные object_id недействительны.
Как вы видите, действительные и недействительные идентификаторы заканчиваются одинаковой последовательностью - 148. Несмотря на то, что я обрабатываю результат как строку и не удаляю символы из результата, возможно, Facebook хотел отправить мне10150_102643214148 вместо этого и поскользнулся.
В настоящее время я просто выбрасываю неверные идентификаторы.Надеюсь, этого будет достаточно, чтобы предотвратить пустые фотографии, и Facebook не отравит результаты моего запроса более поддельными данными.
Edit2: По какой-то причине вышеприведенный подход не сработал.Некоторые изображения все равно могут привести к ошибке.К счастью, таблицы FQL имеют такие свойства, как "src_small" и "src_large", которые возвращают прямую ссылку на фотографии.Хотя якобы граф позволяет получать любое изображение с помощью его API, мне пришлось обратиться к src-результатам запроса - я думаю, это был своего рода патч для подобных ситуаций.
Короче говоря, API-интерфейс GRAPH в Facebookсломана.Надеюсь, это скоро исправят.