Подтвердить что ты не робот

Graph API получает квадрат фотографии (100x100)

Как я могу получить фотографию в facebook с набором пользовательского набора выбора (если они используют большое изображение). Если я использую type = "large" или "normal" или "small" в графике пути, тогда я получаю изображение, но оно не квадратное и не отображает представление пользователя. Итак, как я могу получить фотографию с квадратным типом и просмотр пользовательского набора

4b9b3361

Ответ 1

Вы можете получить квадратное изображение более высоких размеров, чем стандартное для type=square (размер будет всего 50x50 пикселей), запросив изображение с параметрами width и height.

См. https://developers.facebook.com/docs/reference/api/user/, соединение "изображение", цитата:

"Кроме того, вы можете указать параметры URL ширины и высоты для запроса изображения определенного размера. Это вернет доступное изображение профиля ближайший к требуемому размеру и запрошенному соотношению сторон. [...] если width = height, мы всегда будем возвращать квадратное изображение."

Пример:

https://graph.facebook.com/4/picture?type=square - Мистер Цукербергс "нормальный" квадратный профиль pic, размер 50x50

https://graph.facebook.com/4/picture?width=100&height=100 - 100x100 пикселей, идеальное соответствие для запрашиваемого размера

https://graph.facebook.com/4/picture?width=150&height=150 - попросить 150x150, получив вместо этого 156x156.

Если вы можете жить, возможно, иногда получая изображения, которые могут быть немного больше (или меньше), а затем запрошенный размер, вы должны быть в порядке.

В противном случае itll проведет некоторое тестирование, чтобы попытаться выяснить, есть ли определенные размеры квадратного изображения, которые Facebook всегда будет иметь "на складе" и доставлять точные соответствия, или если он может отличаться для каждого пользователя в зависимости от загруженного ими изображения.

Ответ 2

[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{ @"fields" : @"id,name,picture.width(100).height(100)"}]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error) {
             }

вместо 100 вы можете положить 200, 300 зашифровать ответ и получить его с ключом

Ответ 3

Попробуйте использовать тип square. Как показано ниже:

http://graph.facebook.com/[user_id]/picture?type=square

Размер квадрата ограничен 50x50. Если вам нужен большой размер, вам придется увеличить квадратную версию или обрезать большую версию.

Если вы не хотите получать и обрезать изображение самостоятельно, следуйте моему учебнику здесь для кода, чтобы сделать именно это. Это позволит вам создавать квадратные изображения размером более 50 пикселей.

Ответ 4

Это сработало для меня. Проверьте следующий запрос, NSString * graphPath = [NSString stringWithFormat:@"%@?fields=photos.fields(id,link,source)", albumID];

Ответ 5

Получить фотографию, запросив данные профилей пользователя с помощью FQL. В вашем случае вам не нужен токен доступа. Существует столбец с именем pic_crop, который является объектом, который содержит требуемый uri:

URL-адрес изображения квадратного профиля наибольшего размера для объекта на вопрос. width, height: размеры пикселей этого изображения. left, top, right, bottom: выбраны пиксельные координаты выбранного пользователя для этого изображения профиля.

Используйте Graph API Explorer для тестирования вашего запроса.


Обновить. Из справочной информации по языку запросов Facebook (FQL):

Версия 2.0 API платформы Facebook - это последняя версия, где FQL будет доступен. Версии после 2.0 не будут поддерживать FQL. Перенесите свои приложения, чтобы использовать Graph API вместо FQL. Пожалуйста, смотрите нашу changelog для текущей информации о версии.