API-интерфейс Facebook: получать большие изображения в одном запросе
В настоящее время я использую API-интерфейс Graph API для проведения некоторых тестов. Это хороший инструмент.
Я хочу получить список друзей пользователя, с именами друзей, идентификаторами и изображениями. Поэтому я печатаю:
https://graph.facebook.com/me/friends?fields=id,picture,name
Но картинка только 50x50, и я бы хотел, чтобы в этом запросе больше.
Возможно ли это?
Ответы
Ответ 1
вам не нужно тянуть атрибут "картинка". есть намного более удобный способ, единственное, что вам нужно - это userid, см. пример ниже;
https://graph.facebook.com/user_id/picture?type=large
p.s. тип определяет желаемый размер
plz помните, что используя токен с базовыми разрешениями, /me/friends вернут список друзей только с атрибутами id + name
Ответ 2
Как описано в этой ошибке на Facebook, вы также можете запросить конкретные размеры изображений теперь с помощью нового расширения API ".
Так же:
https://graph.facebook.com/____OBJECT_ID____?fields=picture.type(large)
Ответ 3
Лучший способ получить всех друзей (которые тоже используют приложение тоже, конечно) с правильными размерами изображений - использовать расширение , либо с одним из (квадратный, маленький, нормальный, большой):
/me/friends?fields=picture.type(large)
(изменить: это больше не работает)
... или вы можете указать ширину/высоту:
me/friends?fields=picture.width(100).height(100)
Btw, вы также можете записать его так:
me?fields=friends{picture.type(large)}
Ответ 4
Измените массив полей id,name,picture
на id,name,picture.type(large)
https://graph.facebook.com/v2.8/me?fields=id,name,picture.type(large)&access_token=<the_token>
Результат:
{
"id": "130716224073524",
"name": "Julian Mann",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/v/t1.0-1/p200x200/15032818_133926070419206_3681208703790460208_n.jpg?oh=a288898d87420cdc7ed8db5602bbb520&oe=58CB5D16"
}
}
}
Ответ 5
Я исследовал Graph API Explorer широко и, наконец, нашел full_picture
https://graph.facebook.com/v2.2/$id/posts?fields=picture,full_picture
P.S. Я заметил, что full_picture не всегда будет предоставлять полноразмерный образ, который я хочу. "Вложения" делает
https://graph.facebook.com/v2.2/$id/posts?fields=picture,full_picture,attachments
Ответ 6
Вы также можете попробовать получить изображение, если хотите, в зависимости от высоты или ширины
https://graph.facebook.com/user_id/picture?height=
ИЛИ
https://graph.facebook.com/user_id/picture?width=
Значения по умолчанию в пикселях вам просто нужно указать значение int
Ответ 7
Хм... Думаю, я нашел решение.
Фактически, in может просто запросить
https://graph.facebook.com/me/friends?fields=id,name
В соответствии с http://developers.facebook.com/docs/reference/api/ (раздел "Картинки" ) URL-адрес профильных фотографий может быть создан с идентификатором пользователя
Например, если идентификатор пользователя находится в $id:
"http://graph.facebook.com/$id/picture?type=square"
"http://graph.facebook.com/$id/picture?type=small"
"http://graph.facebook.com/$id/picture?type=normal"
"http://graph.facebook.com/$id/picture?type=large"
Но это не окончательный URL-адрес изображения, поэтому, если у кого-то есть лучшее решение, я был бы рад узнать:)
Ответ 8
Вы можете установить размер изображения в пикселях, например:
https://graph.facebook.com/v2.8/me?fields=id,name,picture.width(500).height(500)
Ответ 9
В URL-адресах изображений, найденных в ответах Графа (http://photos-c.ak.fbcdn.net/ "), просто замените значение по умолчанию" _s.jpg "на" _n.jpg "(? нормальный размер) или" _b.jpg "(? большой размер) или" _t.jpg" (миниатюра).
Hacakable URLs/REST API улучшают работу Интернета.
Ответ 10
От v2.7
, /<picture-id>?fields=images
предоставит вам список с разным размером изображений, первый элемент будет полноразмерным изображением.
Я не знаю ни одного решения для нескольких изображений одновременно.
Ответ 11
Я думаю, что на данный момент единственным способом получить большие фотографии друзей является использование FQL. Во-первых, вам нужно получить список друзей:
https://graph.facebook.com/me/friends
Затем проанализируйте этот список и извлеките всех друзей ids
. Если у вас есть это, просто выполните следующий запрос FQL:
SELECT id, url FROM profile_pic WHERE id IN (id1, id2) AND width=200 AND height=200
200
здесь только примерный размер, вы можете ввести что угодно. Вы должны получить следующий ответ:
{
"data": [
{
"id": ...,
"url": "https://fbcdn-profile-a.akamaihd.net/..."
},
{
"id": ...,
"url": "https://fbcdn-profile-a.akamaihd.net/..."
}
]
}
С каждым URL-адресом будет ссылка на образ 200x200px.
Ответ 12
У меня такая же проблема, но я попытался решить эту проблему. он возвращает большое изображение.
Это не идеальное решение, но вы можете попробовать это.
https://graph.facebook.com/v2.0/OBJECT_ID/picture?access_token=XXXXX
Ответ 13
попытайтесь изменить размер изображения, изменив размер пикселя с url в каждом объекте json следующим образом:
например, я изменяю s480x480 как s720x720
До:
https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s480x480/10454308_773207849398282_283493808478577207_n.jpg
После:
https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s720x720/10454308_773207849398282_283493808478577207_n.jpg
Ответ 14
JS стиль.
Просто установите огромную ширину изображения, и вы получите самый большой вариант.
FB.api(
'/' + userId,
{fields: 'picture.width(2048)'},
function (response) {
if (response && !response.error) {
console.log(response.picture.data.url);
}
}
);
Ответ 15
Вы можете использовать full_picture вместо кнопки изображения, чтобы получить изображение полного размера.
Ответ 16
Вы можете указать ширину и высоту в своем запросе на графике Facebook api: http://graph.facebook.com/user_id/picture?width=500&heigth=500
Ответ 17
пользователи rest-fb (квадратное изображение, большее разрешение):
Подключение myFriends = fbClient.fetchConnection( "me/friends", User.class, Parameter.with( "поля", "public_profile, email, first_name, last_name, gender, picture.width(100).height(100)" ));