Отримати зображення профілю користувача Id


123

Зараз я працюю над веб-додатком, який в основному базується на facebook-графіці api. Я зберігаю деякі дані про користувачів - фактично можливі загальнодоступні дані - такі як ім'я та ідентифікатор. Я також знаю, що зображення профілю є частиною загальнодоступних даних, і мені було цікаво, як я зможу отримати пряме посилання на зображення профілю користувача лише за допомогою його ідентифікатора?

Спасибі заздалегідь


Відповіді:


295

http://graph.facebook.com/ "+ facebookId +" / picture? type = square Наприклад: http://graph.facebook.com/67563683055/picture?type=square

Окрім «квадратних» є також і більше розмірів. Дивіться документи .


31
Для всіх, хто хоче посилання на документи: developers.facebook.com/docs/graph-api/reference/user/picture
Frankie Jarrett

33
Найкраще подивитись на документи, оскільки вони мають і всі інші варіанти. Наприклад, якщо ви хочете мати велике квадратне зображення (оскільки квадратний стандарт за замовчуванням малий), ви повинні використовувати https://graph.facebook.com/{facebookId}/picture?type=large&width=720&height=720.
судо

2
чи є спосіб просто запитувати URL-адресу зображення, а не саме зображення? Хочете завантажувати зображення на лицьовій стороні не через сервер, якщо можливо
Олександр Міллс

1
Сподіваємось, це допоможе комусь додатковий крок у пошуку ідентифікатора його профілю - findmyfbid.com
jarmerson

3
використовуйте перенаправлення = 0, щоб отримати опис JSON (включаючи url) замість самого зображення
Ілля Денисов

123

Для отримання різних розмірів зображень профілю можна використовувати наступні URL-адреси. Будь ласка, обов’язково додайте ідентифікатор Facebook до URL.

Фотографії великих розмірів https://graph.facebook.com/ {facebookId} / picture? Type = large

Фото середнього розміру https://graph.facebook.com/ {facebookId} / picture? Type = normal

Фото невеликих розмірів https://graph.facebook.com/ {facebookId} / picture? Type = small

Фото квадрата https://graph.facebook.com/ {facebookId} / picture? Type = square


2
Так я зміг відкрити свій власний FacebookId: developers.facebook.com/tools/explorer/…
Райан

39

Щоб отримати найбільший розмір зображення

https://graph.facebook.com/{userID}?fields=picture.width(720).height(720) 

або що-небудь інше, що вам потрібно як розмір. Виходячи з досвіду, type = large - це не найбільший результат, який можна отримати.


1
також може передавати: graph.facebook.com { userID }? polja = picture.type (великий), це корисно, коли у вас є щось подібне, String url = " graph.facebook.com/me?fields=id,name,email , picture.type (великий), як згадується в інших відповідях, ви можете замінити велике на звичайне, маленьке, квадратне ...
yajnesh

Чи не потрібен цей маркер доступу (сьогодні)?
Bernoulli IT


13

Це буквально на титульній сторінці документації API API .

  • /OBJECT_ID/picture повертає переспрямування на зображення об'єкта (у цьому випадку користувачі)
  • /OBJECT_ID/?fields=picture повертає URL-адресу зображення

Приклади:

<img src="https://graph.facebook.com/4/picture"/> використовує переспрямування HTTP 301 на зображення профілю Zuck

https://graph.facebook.com/4?fields=picture повертає саму URL-адресу


1
На жаль, його більше немає на домашній сторінці документів Graph API, тепер він знаходиться тут: developers.facebook.com/docs/graph-api/using-graph-api
Igy

3
НІ , це не на титульній сторінці документації API API. Вам краще уникати тверджень про обмеження у часі. Ви знаєте .. речі досить швидко змінюються в ті дні ...
Gianluca Ghettini

і за іронією долі ваша відповідь набагато корисніша з більш релевантною інформацією, ніж сторінка графіка api у будь-якому разі :-)
Simon_Weaver

6

Тут ця програма дозволяє легко отримувати фотографії профілю fb, google та twitter

https://www.avatars.io/

Це API, який повертає зображення профілю при введенні імені користувача для різних соціальних мереж, включаючи Twitter, Facebook, Instagram та граватар. У ньому є бібліотеки для iOS, Android, Ruby, Node, PHP, Python та JavaScript.


1
Це дійсно фантастично! Просто тому, що подобається, що посилання описуються трохи детальніше; це API, який повертає зображення профілю при наданні імені користувача для різних соціальних мереж, включаючи Twitter, Facebook, Instagram та граватар. У ньому є бібліотеки для iOS, Android, Ruby, Node, PHP, Python та JavaScript. Винятковий фрагмент програмного забезпечення. Його можна знайти на GitHub .
Арі Купер-Девіс

3

ви можете отримати це за допомогою цього URL-адреси: ви отримаєте зображення HD (максимальний розмір)

https://graph.facebook.com/{userID}?fields=picture.width(720).height(720)&redirect=false

не забудьте переспрямування = хибне, інакше воно поверне помилку


2

Використовуйте URL як: https: //graph.facebook.com/ user_id / picture? Type = square in src тегу img. тип може бути малим, великим.


2

Ви можете використовувати AngularJs для цього, його двостороння зв'язування даних отримає рішення з мінімальними зусиллями та меншим кодом.

<div> <input type="text" name="" ng-model="fbid"><br/> <img src="https://graph.facebook.com/{{fbid}}/picture?type=normal"> </div>

Я сподіваюся, що це відповість на ваш запит. Примітка. Ви можете використовувати й іншу бібліотеку.


1

Через SDK Javascript (v2.12 - квітень 2017) ви можете отримати детальну інформацію про запит зображення таким чином:

FB.api("/" + uid + "/picture?redirect=0", function (response) {
  console.log(response);

  // prints the following:
  //data: {
  //  height: 50
  //  is_silhouette: false
  //  url: "https://lookaside.facebook.com/platform/profilepic/?asid=…&height=50&width=50&ext=…&hash…"
  //  width: 50
  //}

  if (response && !response.error) {
    // change the src attribute of img elements
    [...document.getElementsByClassName('fb-user-img')].forEach(
      i => i.src = response.data.url
    );

    // OR redirect to the URL above
    location.assign(response.data.url);
  }
});

Для отримання відповіді JSON важливим є параметр redirectіз значенням 0 (нуль), оскільки запит переспрямовується на зображення за замовчуванням. Ви можете додати інші параметри в тій самій URL-адресі. Приклади:

  • "/" + uid + "/picture?redirect=0&width=100&height=100": повернеться зображення розміром 100x100;
  • "/" + uid + "/picture?redirect=0&type=large": повертається зображення розміром 200x200. Інші можливі значення типу включають: малі , звичайні , альбомні та квадратні .

1

Просто дотримуйтесь наведеної нижче URL-адреси

https://graph.facebook.com/facebook_user_id/picture?type=square

тип може бути нормальним, малим, середнім, великим. Або квадратний (якщо ви хочете отримати квадратне зображення, розмір квадрата обмежений 50х50).


2
Якщо ви хочете отримати квадратне зображення. Розмір квадрата обмежений 50x50.
Рахул Гупта

Більш детально слідкуйте за розробниками
Рахул Гупта

1

Згідно з останньою останньою версією API API 3.2, для користувачів ви можете використовувати цей загальний метод отримання зображення профілю https://graph.facebook.com/v3.2/{user-id}/picture?type=square ви можете відвідування документація для користувача зображень тут . Можливі значення параметра типу в URL-адресі можуть бути малими, нормальними, альбомними, великими, квадратними

Для груп та сторінок зображення профілю не доступне безпосередньо. Ви повинні отримати їх за допомогою маркера доступу. Для груп потрібно використовувати токен доступу користувачів, а для сторінок можна використовувати як маркер доступу користувача, так і маркер доступу до сторінки.

Зображення профілю групи чи сторінки можна отримати за допомогою загальної URL-адреси: https://graph.facebook.com/v3.2/{user-id}/picture?access_token={access-token}&type=square

Сподіваюсь, це корисно для людей, які шукають зображення профілю або сторінки чи групи.


Для більшості сторінок я отримую зображення профілю сторінки без маркера доступу, але для деяких сторінок воно повертає зображення знака питання як відповідь у форматі нижче. {"data": {"is_silhouette": true, "url": " static.xx.fbcdn.net/rsrc.php/v3/y6/r/_xS7LcbxKS4.gif "}} Будь-який ключ?
xyz

0

Ви можете використовувати таку кінцеву точку, щоб отримати image.jfif замість jpg:

https://graph.facebook.com/v3.2/{user-id}/picture

Зауважте, що ви не зможете побачити зображення, лише завантажте його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.