Nhận ảnh hồ sơ người dùng theo Id


123

Tôi hiện đang làm việc trên một ứng dụng web chủ yếu dựa trên biểu đồ api của facebook. Tôi giữ một số dữ liệu về người dùng - thực sự, dữ liệu công khai có thể có - chẳng hạn như tên và id. Tôi cũng biết rằng ảnh đại diện là một phần của dữ liệu công khai và tôi tự hỏi làm thế nào tôi có thể nhận được liên kết trực tiếp đến ảnh hồ sơ của người dùng chỉ bằng cách sử dụng id của mình?

Cảm ơn trước


Câu trả lời:


295

http://graph.facebook.com/ "+ facebookId +" / hình ảnh? type = vuông Ví dụ: http://graph.facebook.com/67563683055/picture?type=sapes

Ngoài ra còn có nhiều kích cỡ bên cạnh "hình vuông". Xem tài liệu .


31
Đối với bất kỳ ai muốn liên kết đến các tài liệu: developers.facebook.com/docs/graph-api/reference/user/picture
Frankie Jarrett

32
Tốt nhất để xem các tài liệu bởi vì họ cũng có tất cả các tùy chọn khác. Ví dụ: nếu bạn muốn một hình ảnh lớn, vuông (vì mặc định hình vuông là nhỏ), bạn phải sử dụng https://graph.facebook.com/{facebookId}/picture?type=large&width=720&height=720.
sudo

2
Có cách nào để chỉ truy vấn url hình ảnh chứ không phải hình ảnh không? Muốn tải lên hình ảnh ở mặt trước không thông qua máy chủ nếu có thể
Alexander Mills

1
Hy vọng rằng điều này sẽ giúp ai đó tiết kiệm thêm một bước trong việc tìm ID hồ sơ của họ - findmyfbid.com
jarmerson

3
sử dụng redirect = 0 để nhận mô tả JSON (bao gồm url) thay vì chính hình ảnh
Ilya Denisov

123

Bạn có thể sử dụng các url sau để có được kích thước khác nhau của hình ảnh hồ sơ. Vui lòng đảm bảo thêm id Facebook vào url.

Ảnh kích thước lớn https://graph.facebook.com/ {facebookId} / hình ảnh? Type = lớn

Ảnh cỡ trung bình https://graph.facebook.com/ {facebookId} / ảnh? Type = normal

Ảnh cỡ nhỏ https://graph.facebook.com/ {facebookId} / ảnh? Type = small

Ảnh vuông https://graph.facebook.com/ {facebookId} / ảnh? Type = vuông


2
Đây là cách tôi có thể khám phá FacebookId của riêng mình: developers.facebook.com/tools/explorer/
mẹo

39

Để có được kích thước lớn nhất của hình ảnh

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

hoặc bất cứ điều gì bạn cần như kích thước. Dựa trên kinh nghiệm, loại = lớn không phải là kết quả lớn nhất bạn có thể đạt được.


1
cũng có thể vượt qua: graph.facebook.com {userID}? Field = Picture.type (lớn) điều này hữu ích khi bạn có một cái gì đó như thế này, String url = " graph.facebook.com/me?fields=id,name,email , image.type (lớn) như được đề cập trong các câu trả lời khác, bạn có thể thay thế lớn bằng bình thường, nhỏ, vuông ...
yajnesh

Điều này có cần mã thông báo truy cập (ngày nay) không?
Bernoulli IT


13

Đây là nghĩa đen trên trang nhất của tài liệu API đồ thị .

  • /OBJECT_ID/picture trả về một chuyển hướng đến hình ảnh của đối tượng (trong trường hợp này là người dùng)
  • /OBJECT_ID/?fields=picture trả về URL của hình ảnh

Ví dụ:

<img src="https://graph.facebook.com/4/picture"/> sử dụng chuyển hướng HTTP 301 đến ảnh hồ sơ của Zuck

https://graph.facebook.com/4?fields=picture trả về URL


1
Than ôi, nó không còn trên trang chủ của các tài liệu API đồ thị, giờ đã có ở đây: developers.facebook.com/docs/graph-api/USE-graph-api
Igy

3
KHÔNG , nó không có trên trang nhất của tài liệu API đồ thị. Bạn nên tránh các tuyên bố hạn chế về thời gian trên SO. Bạn biết đấy .. mọi thứ thay đổi khá nhanh trong những ngày đó ...
Gianluca Ghettini

và trớ trêu thay câu trả lời của bạn lại hữu ích hơn nhiều với thông tin phù hợp hơn trang api biểu đồ dù sao :-)
Simon_Weaver

6

Ở đây, api này cho phép bạn có được các bức ảnh hồ sơ fb, google và twitter một cách dễ dàng

https://www.avatars.io/

Đó là một API trả về hình ảnh hồ sơ khi được cung cấp tên người dùng cho nhiều mạng xã hội bao gồm Twitter, Facebook, Instagram và gravatar. Nó có các thư viện cho iOS, Android, Ruby, Node, PHP, Python và JavaScript.


1
Điều đó thực sự là tuyệt vời! Chỉ vì SO thích các liên kết được mô tả chi tiết hơn một chút; đó là một API trả về hình ảnh hồ sơ khi được cung cấp tên người dùng cho nhiều mạng xã hội bao gồm Twitter, Facebook, Instagram và gravatar. Nó có các thư viện cho iOS, Android, Ruby, Node, PHP, Python và JavaScript. Một phần mềm đặc biệt. Nó có thể được tìm thấy trên GitHub .
Ari Cooper-Davis

3

bạn có thể lấy nó bằng cách sử dụng url này: bạn sẽ có được hình ảnh HD (kích thước tối đa)

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

đừng quên redirect = false hoặc nó sẽ trả về lỗi


2

Sử dụng url dưới dạng: https: //graph.facebook.com/ user_id / hình ảnh? Type = vuông trong src của thẻ img. loại có thể nhỏ, lớn.


2

Bạn có thể sử dụng AngularJs cho việc này, tính năng liên kết dữ liệu hai chiều của nó sẽ có được giải pháp với nỗ lực tối thiểu và ít mã hơn.

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

Tôi hy vọng câu trả lời này cho câu hỏi của bạn. Lưu ý: Bạn cũng có thể sử dụng thư viện khác.


1

Thông qua SDK Javascript (v2.12 - Tháng 4 năm 2017), bạn có thể nhận được các chi tiết của yêu cầu hình ảnh theo cách này:

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

Để nhận được phản hồi JSON, tham số redirectcó giá trị 0 (không) là quan trọng vì yêu cầu chuyển hướng đến hình ảnh theo mặc định. Bạn vẫn có thể thêm các tham số khác trong cùng một URL. Ví dụ:

  • "/" + uid + "/picture?redirect=0&width=100&height=100": hình ảnh 100x100 sẽ được trả lại;
  • "/" + uid + "/picture?redirect=0&type=large": một hình ảnh 200x200 được trả lại. Các giá trị loại khác có thể bao gồm: nhỏ , bình thường , albumhình vuông .

1

Chỉ cần làm theo URL bên dưới

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

loại có thể bình thường, nhỏ, vừa, lớn. Hoặc hình vuông (nếu bạn muốn có được hình vuông, kích thước hình vuông được giới hạn ở 50x50).


2
Nếu bạn muốn có được hình vuông. Kích thước hình vuông được giới hạn ở 50x50.
Rahul Gupta

Để biết thêm chi tiết, hãy theo dõi Facebook Graph API developers.facebook.com/docs/graph-api/reference/v3.2/user/
mẹo

1

Theo phiên bản API Facebook mới nhất hiện tại phiên bản 3.2, đối với người dùng, bạn có thể sử dụng phương pháp chung này để nhận ảnh đại diện là https://graph.facebook.com/v3.2/ đũauser-ides /icture? Type = hình vuông bạn có thể truy cập tài liệu cho hình ảnh người dùng ở đây . Các giá trị có thể cho tham số loại trong URL có thể nhỏ, bình thường, album, lớn, vuông

Đối với Nhóm và Trang , ảnh hồ sơ không có sẵn trực tiếp. Bạn phải có được chúng bằng cách sử dụng mã thông báo truy cập. Đối với các Nhóm, bạn phải sử dụng Mã thông báo truy cập người dùng và đối với Trang, bạn có thể sử dụng cả Mã thông báo truy cập người dùng và Mã thông báo truy cập trang.

Bạn có thể lấy Ảnh đại diện của nhóm hoặc trang bằng cách sử dụng URL chung: https://graph.facebook.com/v3.2/ nbuser-ides /icture? Access_token = nbaccess-trollopez & type = squat

Tôi hy vọng điều này hữu ích cho những người đang tìm kiếm hình ảnh Hồ sơ Trang hoặc Nhóm.


Đối với hầu hết các trang, tôi nhận được hình ảnh hồ sơ trang mà không có mã thông báo truy cập nhưng đối với một số trang, nó sẽ trả về hình ảnh dấu hỏi dưới dạng phản hồi ở định dạng bên dưới. {"data": {"is_sil Silhouette": true, "url": " static.xx.fbcdn.net/rsrc.php/v3/y6/r/_xS7LcbxKS4.gif "}} Có manh mối nào không?
xyz

0

Bạn có thể sử dụng điểm cuối sau để lấy image.jfif thay vì jpg:

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

Lưu ý rằng bạn sẽ không thể nhìn thấy hình ảnh, chỉ tải xuống nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.