Facebook Graph API Pages Альбомы - задание размера для изображений [дубликат]

const void разрешен просто потому, что нет смысла заставить компилятор выгнать это одно исключение из общего правила, и ему не вредно оставить его.

Там есть некоторое обсуждение выше, что const void * не очень полезно:

Насколько полезен const void *? Я вижу, как может быть void * const, но не первый. -Spidey

На самом деле const void * иногда является существенным. Он заявляет, что указываемая вещь читается только в отличие от void * const , которая только объявляет, что сам указатель является постоянным, но не тем, на что он указывает.

Из моего опыт, указатель на константу с использованием const void * является более полезным из двух форм. Конечно, существует также const void * const , что означает, что и указатель, и то, что он указывает, являются постоянными.

void * обычно используется как способ передачи неспецифических указателей (например, с помощью memcpy () ). Если вы хотите передать const char * в такую ​​функцию, вы не сможете использовать void * или потеряете тот факт, что предмет, на который он указывает, является постоянным и не может быть изменен , Текущие компиляторы C ++ откажутся от компиляции, так как это должно было бы неявно отбросить const и по праву, так как эти данные могут находиться в постоянной памяти и, возможно, вызывать исключение, если что-либо пытается написать это.

Вот почему второй аргумент memcpy () - const void * , а не просто void * .

75
задан Kara 20 February 2014 в 02:49
поделиться

17 ответов

вам не нужно вытягивать атрибут «картинка». есть намного более удобный способ, единственное, что вам нужно - это userid, см. пример ниже;

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

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

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

57
ответ дан guleryuz 15 August 2018 в 21:21
поделиться
  • 1
    Но я не согласен с вами в последнем предложении: с базовым разрешением вы можете получить доступ к более чем атрибуту id + name, например: graph.facebook.com/btaylor – Martin 18 May 2012 в 13:22
  • 2
    uhm, как насчет «в одном запросе»? – Iulian Onofrei 24 April 2014 в 11:06
  • 3
    ребята, ссылка не работает правильно, вы можете помочь с той же проблемой – Saugat Thapa 22 July 2016 в 07:28
  • 4
    U также может использовать full_picture instat изображения. – Bo Pennings 28 November 2016 в 12:32
  • 5
    Передано вниз, потому что этот ответ не решает "в одном запросе" требование. – Vitalii Zurian 19 December 2017 в 17:13

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

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

0
ответ дан Ajay 15 August 2018 в 21:21
поделиться
  • 1
    Просто добавьте еще один параметр в запрос: type = large. Пожалуйста, проверьте мой ответ ниже. – born to hula 20 December 2014 в 01:03

Вы можете указать ширину и; высота в вашем запросе к графику Facebook api: http://graph.facebook.com/user_id/picture?width=500&heigth=500

0
ответ дан Alexey Kislitsin 15 August 2018 в 21:21
поделиться

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

FB.api(
  '/' + userId,
  {fields: 'picture.width(2048)'},
  function (response) {
    if (response && !response.error) {
      console.log(response.picture.data.url);
    }
  }
);
0
ответ дан Dzmitry Vasilevsky 15 August 2018 в 21:21
поделиться

попытайтесь изменить размер изображения, изменив размер пикселя с url в каждом объекте json следующим образом:

например, я изменяю s480x480 как s720x720

До: https://fbcdn-sphotos-ca.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s480x480/10454308_773207849398282_283493808478577207_n.jpg

После: https://fbcdn-sphotos-ca.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s720x720/10454308_773207849398282_283493808478577207_n.jpg

0
ответ дан E_X 15 August 2018 в 21:21
поделиться

Я исследовал Graph API Explorer широко и, наконец, нашел full_picture

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

P.S. Я заметил, что full_picture не всегда будет предоставлять полноразмерный образ, который я хочу. [attachments] делает

https://graph.facebook.com/v2.2/$id/posts?fields=picture,full_picture,attachments
20
ответ дан Jonghee Park 15 August 2018 в 21:21
поделиться
  • 1
    это только ширина отображения: 720px. u r только крупная фотография нахожу это. для большого graph.facebook.com/photo_id u можно увидеть фотографию 6 разных размеров. – gokhan 3 February 2015 в 17:32
  • 2
    я просто проверил это с конечной точкой друзей, и он не работал – luschn 27 March 2015 в 08:54
  • 3
    Удивительно, спасибо человеку – Mauricio Chirino 28 July 2017 в 03:02
  • 4
    Сохраненный мой день ... не понимаю, почему API facebook является неудобным – xetra11 15 December 2017 в 11:20

Измените массив полей 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"
      }
   }
}
29
ответ дан Julian Mann 15 August 2018 в 21:21
поделиться
  • 1
    Как 200 х 200 больших? – AlxVallejo 24 May 2017 в 21:14
  • 2
    В последнем (2.10) Graph API не «большой». имеющийся размер: Graph returned an error: (#100) For field 'picture': type must be one of the following values: thumbnail, small, album – Honza 14 October 2017 в 21:33
  • 3
    OMFG! Loooooooooooool ... Просто нашел проблему с одним из моих приложений ... thumbnail, small, album, я сделал все, чтобы получить альбом, и использовал большой. И изменилось большое для альбома, lol ... это должно перегружать ресурсы ... – David Augustus 1 December 2017 в 02:59

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

0
ответ дан Khalil ur Rehman 15 August 2018 в 21:21
поделиться

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

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

(изменить: это больше не работает)

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

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

Btw, вы также можете записать его так:

me?fields=friends{picture.type(large)}
66
ответ дан luschn 15 August 2018 в 21:21
поделиться
  • 1
    Больше не работает, но full_picture, вложения теперь дают правильные поля ... – Kevin 27 March 2015 в 03:43
  • 2
    спасибо за информацию, я обновлю ответ. full_picture, похоже, не работает для друзей, хотя: / me / friends? fields = full_picture - вы знаете, как это возможно? – luschn 27 March 2015 в 08:50

Хм ... Я думаю, что нашел решение.

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

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

Согласно http: // разработчикам .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
ответ дан Martin 15 August 2018 в 21:21
поделиться

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

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

2
ответ дан maxbellec 15 August 2018 в 21:21
поделиться

Я думаю, что теперь единственный способ получить большие фотографии друзей - использовать 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.

0
ответ дан Paweł Gościcki 15 August 2018 в 21:21
поделиться

Вы можете установить размер изображения в пикселях, например:

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

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

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

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

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

14
ответ дан Ratul Sharker 15 August 2018 в 21:21
поделиться
1
ответ дан Ronan 15 August 2018 в 21:21
поделиться

Пользователи rest-fb (квадратное изображение, большее разрешение): Connection myFriends = fbClient.fetchConnection ("me / friends", User.class, Parameter.with ("поля", "public_profile, email, first_name, last_name, пола, picture.width (100) .height (100) "));

1
ответ дан sigi 15 August 2018 в 21:21
поделиться

Вы также можете попробовать получить изображение, если хотите, исходя из высоты или ширины

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

ИЛИ

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

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

18
ответ дан Swaprks 15 August 2018 в 21:21
поделиться

Как описано в этой ошибке на Facebook, вы также можете запросить конкретные размеры изображений теперь с помощью нового синтаксиса API [ field ].

Например:

https://graph.facebook.com/____OBJECT_ID____?fields=picture.type(large)
173
ответ дан thaddeusmt 15 August 2018 в 21:21
поделиться
  • 1
    В самом деле. fields = picture.width (640) еще лучше. – kaay 30 April 2014 в 13:23
  • 2
    Кажется, API-интерфейс Facebook изменил свой api. Facebook ответили «Подполе не поддерживаются картиной». когда я попытался использовать ваше предложение. – Phat H. VU 25 July 2014 в 05:38
  • 3
    получение ошибки: {& quot; ошибка & quot ;: {& quot; сообщение & quot ;: & quot; Неподдерживаемый запрос на получение. Пожалуйста, прочитайте документацию API Графа в developers.facebook.com/docs/graph-api" ;, & quot; type & quot ;: & quot; GraphMethodException & quot ;, & quot; code & quot; 100}} – Vineesh TP 13 October 2014 в 11:41
  • 4
    См. Поле? Field = full_picture, вложения для запросов 2.x – Kevin 27 March 2015 в 03:44
  • 5
    Большое спасибо, вы только что спасли пони – sachadso 4 November 2015 в 18:18
Другие вопросы по тегам:

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