Dapatkan gambar profil pengguna berdasarkan Id


123

Saya sekarang sedang mengerjakan aplikasi web yang sebagian besar didasarkan pada api grafik facebook. Saya menyimpan beberapa data tentang pengguna - sebenarnya, kemungkinan data publik yang tersedia - seperti nama dan id. Saya juga tahu bahwa gambar profil adalah bagian dari data publik, dan saya bertanya-tanya bagaimana saya bisa mendapatkan tautan langsung ke gambar profil pengguna hanya dengan menggunakan idnya?

Terima kasih sebelumnya


Jawaban:


295

http://graph.facebook.com/ "+ facebookId +" / picture? type = square Misalnya: http://graph.facebook.com/67563683055/picture?type=square

Ada juga lebih banyak ukuran selain "persegi". Lihat dokumennya .


31
Bagi siapa pun yang menginginkan tautan ke dokumen: developers.facebook.com/docs/graph-api/reference/user/picture
Frankie Jarrett

33
Terbaik untuk melihat dokumen karena mereka juga memiliki semua opsi lain. Misalnya, jika Anda menginginkan gambar persegi yang besar (karena standar persegi kecil), Anda harus menggunakan https://graph.facebook.com/{facebookId}/picture?type=large&width=720&height=720.
sudo

2
apakah ada cara untuk hanya mengkueri url gambar, bukan gambar itu sendiri? Ingin mengunggah gambar di front-end tidak melalui server jika memungkinkan
Alexander Mills

1
Mudah-mudahan ini akan menghemat langkah ekstra seseorang dalam menemukan ID profil mereka - findmyfbid.com
jarmerson

3
gunakan redirect = 0 untuk mendapatkan deskripsi JSON (termasuk url) alih-alih gambar itu sendiri
Ilya Denisov

123

Anda dapat menggunakan url berikut untuk mendapatkan berbagai ukuran gambar profil. Harap pastikan untuk menambahkan id Facebook ke url.

Foto ukuran besar https://graph.facebook.com/ {facebookId} / picture? Type = large

Foto ukuran sedang https://graph.facebook.com/ {facebookId} / picture? Type = normal

Foto ukuran kecil https://graph.facebook.com/ {facebookId} / picture? Type = small

Foto persegi https://graph.facebook.com/ {facebookId} / picture? Type = square


2
Beginilah cara saya menemukan FacebookId saya sendiri: developers.facebook.com/tools/explorer/…
Ryan

39

Untuk mendapatkan ukuran gambar terbesar

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

atau apa pun yang Anda butuhkan sebagai ukuran. Berdasarkan pengalaman, type = large bukanlah hasil terbesar yang bisa Anda peroleh.


1
juga bisa lewat: graph.facebook.com {userID}? fields = picture.type (large) ini berguna bila Anda memiliki sesuatu seperti ini, String url = " graph.facebook.com/me?fields=id,name,email , picture.type (besar) seperti yang disebutkan dalam jawaban lain, Anda dapat mengganti besar dengan normal, kecil, persegi ...
yajnesh

Bukankah ini memerlukan token akses (sekarang)?
Bernoulli IT


13

Ini benar - benar ada di halaman depan dokumentasi API Grafik .

  • /OBJECT_ID/picture mengembalikan pengalihan ke gambar objek (dalam hal ini pengguna)
  • /OBJECT_ID/?fields=picture mengembalikan URL gambar

Contoh:

<img src="https://graph.facebook.com/4/picture"/> menggunakan pengalihan HTTP 301 ke gambar profil Zuck

https://graph.facebook.com/4?fields=picture mengembalikan URL itu sendiri


1
Sayangnya, ini tidak lagi ada di beranda dokumen API Grafik, sekarang ada di sini: developers.facebook.com/docs/graph-api/using-graph-api
Igy

3
TIDAK , ini tidak ada di halaman depan dokumentasi Graph API. Anda sebaiknya menghindari pernyataan batasan waktu pada SO. Kau tahu .. banyak hal berubah sangat cepat saat itu ...
Gianluca Ghettini

dan ironisnya, jawaban Anda jauh lebih berguna dengan info yang lebih relevan daripada halaman api grafik :-)
Simon_Weaver

6

Di sini, api ini memungkinkan Anda untuk mendapatkan foto profil fb, google dan twitter dengan mudah

https://www.avatars.io/

Ini adalah API yang mengembalikan gambar profil ketika diberi nama pengguna untuk berbagai jejaring sosial termasuk Twitter, Facebook, Instagram, dan gravatar. Ini memiliki perpustakaan untuk iOS, Android, Ruby, Node, PHP, Python, dan JavaScript.


1
Itu sangat luar biasa! Hanya karena SO menyukai tautan yang akan dijelaskan lebih detail; Ini adalah API yang mengembalikan gambar profil ketika diberi nama pengguna untuk berbagai jejaring sosial termasuk Twitter, Facebook, Instagram, dan gravatar. Ini memiliki perpustakaan untuk iOS, Android, Ruby, Node, PHP, Python, dan JavaScript. Perangkat lunak yang luar biasa. Itu dapat ditemukan di GitHub .
Ari Cooper-Davis

3

Anda bisa mendapatkannya dengan menggunakan url ini: Anda akan mendapatkan gambar HD (ukuran maks)

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

jangan lupa redirect = false atau itu akan mengembalikan kesalahan


2

Gunakan url sebagai: https: //graph.facebook.com/ user_id / picture? Type = square di src dari tag img. jenis mungkin kecil, besar.


2

Anda dapat menggunakan AngularJs untuk ini, Fitur pengikatan data dua arahnya akan mendapatkan solusi dengan upaya minimum dan lebih sedikit kode.

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

Saya harap ini menjawab pertanyaan Anda.Catatan: Anda dapat menggunakan perpustakaan lain juga.


1

Melalui Javascript SDK (v2.12 - April 2017) Anda bisa mendapatkan detail permintaan gambar dengan cara ini:

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);
  }
});

Untuk mendapatkan respons JSON, parameter redirectdengan 0 (nol) sebagai nilai penting karena permintaan dialihkan ke gambar secara default. Anda masih dapat menambahkan parameter lain di URL yang sama. Contoh:

  • "/" + uid + "/picture?redirect=0&width=100&height=100": gambar 100x100 akan dikembalikan;
  • "/" + uid + "/picture?redirect=0&type=large": gambar 200x200 dikembalikan. Nilai jenis lain yang mungkin termasuk: kecil , normal , album , dan persegi .


1

Sesuai dengan API Facebook terbaru versi 3.2, Untuk pengguna, Anda dapat menggunakan metode umum untuk mendapatkan gambar profil ini https://graph.facebook.com/v3.2/{user-id}/picture?type=square Anda dapat kunjungi dokumentasi untuk gambar pengguna di sini . Nilai yang mungkin untuk parameter jenis di URL bisa kecil, normal, album, besar, persegi

Untuk Grup dan Halaman , gambar profil tidak tersedia secara langsung. Anda harus mendapatkannya menggunakan token akses. Untuk Grup Anda harus menggunakan Token Akses Pengguna dan untuk Halaman Anda dapat menggunakan Token Akses Pengguna dan Token Akses Halaman.

Anda bisa mendapatkan Gambar Profil Grup atau Halaman menggunakan URL umum: https://graph.facebook.com/v3.2/{user-id}/picture?access_token={access-token}&type=square

Saya harap ini bermanfaat bagi orang-orang yang mencari gambar Halaman atau Profil Grup.


Untuk sebagian besar halaman, saya mendapatkan gambar profil halaman tanpa token akses tetapi untuk beberapa halaman menampilkan gambar tanda tanya sebagai respons dalam format di bawah ini. {"data": {"is_silhouette": true, "url": " static.xx.fbcdn.net/rsrc.php/v3/y6/r/_xS7LcbxKS4.gif "}} Ada Petunjuk?
xyz

0

Anda dapat menggunakan endpoint berikut untuk mendapatkan image.jfif sebagai ganti jpg:

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

Perhatikan bahwa Anda tidak akan dapat melihat gambar, cukup unduh saja.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.