Saya sedang mengerjakan CMS yang mengambil gambar profil pengguna dari URL Facebook mereka (yaitu, http://facebook.com/users_unique_url ). Bagaimana saya bisa mencapai ini? Apakah ada panggilan Faceboook API yang mengambil URL gambar profil pengguna tanpa pengguna perlu Izinkan aplikasi?
257
?type=large
querystring yang bisa Anda tambahkan. Alat peraga untuk menghasilkan jawaban yang jauh lebih baik daripada goresan layar yang saya ketikkan, BTW :).<img src="//graph.facebook.com/sarfraz.anees/picture" />
jika Anda mengubah antara HTTP dan HTTPS ... protokol terdeteksi oleh browser, dan Anda tidak akan mendapatkan peringatan konten campuran di HTTPS.Memperlihatkan:
50x50 piksel
Lebar 200 piksel
Untuk menyimpan (menggunakan PHP)
CATATAN: Jangan gunakan ini . Lihat komentar @ Foreever di bawah ini.
Di mana $ fid adalah id pengguna Anda di Facebook.
CATATAN: Jika ada gambar yang ditandai "18+", Anda akan memerlukan access_token yang valid dari pengguna 18+:
PEMBARUAN 2015:
Grafik API v2.0 tidak dapat ditanyakan menggunakan nama pengguna, Anda harus
userId
selalu menggunakan .sumber
PEMBARUAN :
Mulai akhir Agustus 2012, API telah diperbarui untuk memungkinkan Anda mengambil gambar profil pengguna dalam berbagai ukuran. Tambahkan bidang lebar dan tinggi opsional sebagai parameter URL:
di mana
WIDTH
danHEIGHT
adalah nilai dimensi yang Anda minta.Ini akan mengembalikan gambar profil dengan ukuran minimum
WIDTH
xHEIGHT
saat mencoba mempertahankan rasio aspek. Sebagai contoh,kembali
AKHIR PEMBARUAN
Untuk mendapatkan gambar profil pengguna, hubungi
di mana
USER_ID
bisa menjadi nomor id pengguna atau nama pengguna.Untuk mendapatkan gambar profil pengguna dengan ukuran tertentu, hubungi
di mana
SIZE
harus diganti dengan salah satu katatergantung pada ukuran yang Anda inginkan.
Panggilan ini akan mengembalikan URL ke satu gambar dengan ukurannya berdasarkan pada parameter tipe yang Anda pilih.
Sebagai contoh:
mengembalikan URL ke versi kecil gambar.
API hanya menentukan ukuran maksimum untuk gambar profil, bukan ukuran sebenarnya.
Kotak:
Kecil
Normal
Besar
Jika Anda memanggil USER_ID / gambar default, Anda mendapatkan tipe persegi.
KLARIFIKASI
Jika Anda menelepon (seperti contoh di atas)
itu akan mengembalikan respons JSON jika Anda menggunakan salah satu metode permintaan SDK Facebook . Kalau tidak, itu akan mengembalikan gambar itu sendiri. Untuk selalu mengambil JSON, tambahkan:
seperti itu:
sumber
&redirect=false
untuk mengembalikan data JSON alih-alih mengarahkan ulang ke gambarUntuk mendapatkan URL gambar, BUKAN konten biner:
Anda harus menggunakan ID FACEBOOK Anda, BUKAN USERNAME. Anda bisa mendapatkan id facebook Anda di sana:
http://findmyfbid.com/
sumber
Kode satu baris sederhana untuk menyimpan gambar profil ukuran LENGKAP pada server Anda.
Ini hanya akan berfungsi jika openssl diaktifkan di php.ini.
sumber
Menambahkan ini sebagai komentar untuk jawaban yang diterima, tetapi merasa itu layak mendapatkan penjelasan yang lebih panjang. Mulai sekitar April 2015 ini mungkin akan dinaikkan beberapa kali.
Pada V2 grafik api, jawaban yang diterima tidak lagi berfungsi menggunakan nama pengguna. Jadi sekarang Anda perlu userid terlebih dahulu, dan Anda tidak bisa lagi menggunakan nama pengguna untuk mendapatkan ini. Untuk memperumit masalah, untuk alasan privasi, Facebook sekarang mengubah userid per aplikasi (lihat https://developers.facebook.com/docs/graph-api/reference/v2.2/user/ dan https: //developers.facebook .com / docs / apps / upgrade / # upgrading_v2_0_user_ids ), jadi Anda harus memiliki semacam otentikasi yang tepat untuk mengambil userid yang dapat Anda gunakan. Secara teknis gambar profil masih terbuka untuk umum dan tersedia di / userid / gambar (lihat dokumen di https://developers.facebook.com/docs/graph-api/reference/v2.0/user/picture dan contoh pengguna ini: http: //graph.facebook.com/v2.2/4/picture?redirect=0) Namun, mencari tahu standar pengguna pengguna tampaknya tidak mungkin hanya berdasarkan profil mereka - aplikasi Anda perlu membuat mereka menyetujui interaksi dengan aplikasi yang untuk kasus penggunaan saya (hanya menunjukkan gambar profil di sebelah tautan profil FB mereka) berlebihan.
Jika seseorang menemukan cara untuk mendapatkan foto profil berdasarkan nama pengguna, atau sebagai alternatif, cara mendapatkan userid (bahkan foto bergantian) yang digunakan untuk mengambil foto profil, silakan berbagi! Sementara itu, url grafik lama masih berfungsi hingga April 2015.
sumber
Salah satu caranya adalah dengan menggunakan kode Gamlet yang diposting dalam jawabannya:
Simpan sebagai
curl.php
Kemudian di file Anda:
Saya pikir saya akan memposting ini, karena saya butuh sedikit waktu untuk mengetahui rinciannya ... Meskipun gambar profil bersifat publik, Anda masih perlu memiliki token akses di sana untuk mendapatkannya ketika Anda menggulungnya .
sumber
Ada cara untuk melakukan itu;)
Terima kasih untuk " http://it.toolbox.com/wiki/index.php/Use_curl_from_PHP_-_processing_response_headers ":
sumber
Bekerja dengan PHP (HTTP GET) solusi dari April 2015 (tanpa PHP 5 SDK):
Anda dapat mengubah 'ketik' di parametr:
Kotak:
Kecil
Normal
Besar
sumber
Saya berpikir - mungkin ID akan menjadi alat yang berguna. Setiap kali pengguna membuat akun baru, ia harus mendapatkan ID yang lebih tinggi. Saya mencari di Google dan menemukan bahwa ada metode untuk memperkirakan tanggal pembuatan akun berdasarkan ID dan Massoud Seifi dari metadatascience.com mengumpulkan beberapa data bagus tentangnya.
Baca artikel ini:
http://metadatascience.com/2013/03/11/inferring-facebook-account-creation-date-from-facebook-user-id/
Dan berikut ini beberapa ID untuk diunduh:
http://metadatascience.com/2013/03/14/lookup-table-for-inferring-facebook-account-creation-date-from-facebook-user-id/
sumber
Posting blog Ambil Gambar dari Facebook Graph Object mungkin menawarkan bentuk solusi lain. Gunakan kode dalam tutorial bersama dengan Graph API Facebook dan perpustakaan PHP SDK-nya.
... Dan cobalah untuk tidak menggunakan file_get_contents (kecuali Anda siap menghadapi konsekuensinya - lihat file_get_contents vs curl ).
sumber
Apakah Anda khawatir tentang ukuran gambar profil? pada saat menerapkan login dengan Facebook menggunakan PHP. Kami akan menunjukkan kepada Anda cara sederhana untuk mendapatkan gambar profil ukuran besar di Facebook PHP SDK. Anda juga bisa mendapatkan gambar ukuran khusus dari profil Facebook.
Atur dimensi gambar profil dengan menggunakan baris kode berikut.
$ userProfile = $ facebook-> api ('/ me? fields = picture.width (400) .height (400)');
periksa posting ini: http: //www.codexworld.com/how-to-guides/get-large-size-profile-picture-in-facebook-php-sdk/
sumber
@NaturalBornCamper,
Kode yang bagus! Ini adalah fungsi kode yang bersih untuk proses seperti itu!
Ini akan mengembalikan URL gambar avatar Facebook mentah . Jangan ragu untuk melakukan apa pun yang Anda inginkan dengannya!
sumber
Anda dapat memperoleh URI profil melalui alat pencari id facebook online
Anda juga dapat melewatkan param tipe dengan nilai yang mungkin kecil, normal, besar, persegi.
Lihat dokumentasi resmi
sumber