Вопрос по facebook, facebook-graph-api – Facebook Graph API: получить большие картинки за один запрос

79

Я сейчас используюGraph API Explorer сделать несколько тестов. Это хороший инструмент.

Я хочу получить список друзей пользователя вместе с друзьями. имена, идентификаторы и картинки. Итак, я набираю:

https://graph.facebook.com/me/friends?fields=id,picture,name

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

Является ли это возможным ?

Ваш Ответ

17   ответов
0

но я попытался решить эту проблему. возвращает большое изображение. Это не идеальное решение, но вы можете попробовать это.

https://graph.facebook.com/v2.0/OBJECT_ID/picture?access_token=XXXXX

24

https://graph.facebook.com/v2.8/me?fields=id,name,picture.width(500).height(500)

Аналогичным образом,type параметр может быть использован

{user-id}/?fields=name,picture.type(large)

Отдокументация

type enum{small, normal, album, large, square}

Error: User Rate Limit Exceeded
0

изменив размер пикселя по 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

68

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

/me/friends?fields=picture.type(large)

(edit: this does not work anymore)

... или вы можете указать ширину / высоту:

me/friends?fields=picture.width(100).height(100)

Кстати, вы также можете написать это так:

me?fields=friends{picture.type(large)}
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

чтобы получить полноразмерное изображение.

0

Просто установите огромную ширину изображения, и вы получите самый большой вариант.

FB.api(
  '/' + userId,
  {fields: 'picture.width(2048)'},
  function (response) {
    if (response && !response.error) {
      console.log(response.picture.data.url);
    }
  }
);
183

эта ошибка на Facebook вы также можете запросить изображения определенного размера через новый API & quot;расширение поля& Quot; синтаксис.

Вот так:

https://graph.facebook.com/____OBJECT_ID____?fields=picture.type(large)
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededdevelopers.facebook.com/docs/graph-apiError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
62

й способ, единственное, что вам нужно, это идентификатор пользователя, см. пример ниже;

https://graph.facebook.com/user_id/picture?type=large

постскриптум Тип определяет размер, который вы хотите

Пожалуйста, имейте в виду, что при использовании токена с основными правами / me / friends будет возвращать список друзей только с атрибутами id + name

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededgraph.facebook.com/btaylor Martin
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
20

https://graph.facebook.com/v2.2/$id/posts?fields=picture,full_picture

Постскриптум Я заметил, что full_picture не всегда обеспечивает полноразмерное изображение, которое я хочу. & APOS; вложение & APOS; делает

https://graph.facebook.com/v2.2/$id/posts?fields=picture,full_picture,attachments
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededgraph.facebook.com/photo_idError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
2

v2.7, /<picture-id>?fields=images предоставит вам список с изображениями разного размера, первым элементом будет полноразмерное изображение.

Я не знаю ни одного решения для нескольких изображений одновременно.

19

если вы хотите его на основе высоты или ширины

https://graph.facebook.com/user_id/picture?height=

ИЛИ ЖЕ

https://graph.facebook.com/user_id/picture?width=

Значения по умолчанию в пикселях, вам просто нужно указать значение int

Error: User Rate Limit Exceededgraph.facebook.com/2418855928223730/picture?width=130
1

высота в вашем запросе к Facebook graph api:http://graph.facebook.com/user_id/picture?width=500&heigth=500

0

что на данный момент единственный способ получить большие фотографии друзей - это использовать 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 является ссылкой на изображение размером 200x200 пикселей.

1

http://photos-c.ak.fbcdn.net/& Quot; из них), просто замените по умолчанию & quot; _s.jpg & quot; & quot; _n.jpg & quot; (? нормальный размер) или "_b.jpg" (? большой размер) или & quot; _t.jpg & quot; (Эскизы).

Hacakable URL-адреса / REST API делают Интернет лучше.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
1

Соединение myFriends = fbClient.fetchConnection ("me / friends", User.class, Parameter.with (& quot; fields & quot ;, & quot; public_profile, email, first_name, фамилия, пол, picture.width (100) .height (100)) & Quot;));

9

На самом деле, может просто запрос

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 изображения, поэтому, если у кого-то есть лучшее решение, я был бы рад узнать :)

Error: User Rate Limit Exceededdevelopers.facebook.com/docs/graph-api/reference/user/picture
32

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"
      }
   }
}
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededGraph returned an error: (#100) For field 'picture': type must be one of the following values: thumbnail, small, album

Похожие вопросы