2012-07-11 36 views
89

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 đồ facebook api. Tôi giữ một số dữ liệu về người dùng - trên thực tế, 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 tiểu sử là một phần của dữ liệu công khai và tôi tự hỏi làm cách nào để có thể nhận được liên kết trực tiếp tới ảnh tiểu sử của người dùng bằng id của anh ấy?Nhận ảnh hồ sơ người dùng theo Id

Cảm ơn trước

+0

Bản sao có thể có của [Facebook API - Làm cách nào để có được hình ảnh tiểu sử của người dùng Facebook thông qua API Facebook (mà không yêu cầu người dùng "Cho phép" ứng dụng)] (http://stackoverflow.com/questions/2821061/facebook -api-how-do-i-get-a-facebook-user-profile-hình-qua-facebook) –

Trả lời

225

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

Ngoài ra còn có nhiều kích thước bên cạnh "vuông". Xem the docs.

+27

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

+15

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

+0

có cách nào để chỉ truy vấn url hình ảnh không phải là hình ảnh không? Muốn tải lên hình ảnh trên giao diện người dùng không thông qua máy chủ nếu có thể –

11

Đây là theo nghĩa đen trên trang chính của Graph API documentation.

  • /OBJECT_ID/picture trả về chuyển hướng đến hình ảnh của đối tượng (trong trường hợp này người sử 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 một HTTP 301 chuyển hướng đến hồ sơ Zuck của picture

https://graph.facebook.com/4?fields=picture trả lại chính URL đó

+1

Than ôi, nó không còn trên trang chủ của tài liệu API Graph, bây giờ nó ở đây: https://developers.facebook.com/docs/graph-api/using-graph-api – Igy

+2

* NO *, nó không nằm trên trang chủ của tài liệu API Graph. Bạn nên tránh các câu lệnh ràng buộc thời gian trên SO. Bạn biết đấy .. mọi thứ thay đổi khá nhanh vào những ngày đó ... –

+0

và trớ trêu thay câu trả lời của bạn hữu ích hơn nhiều với thông tin liên quan hơn trang đồ thị api anyway :-) –

2

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

97

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

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

kích thước trung bình ảnh https://graph.facebook.com/ {facebookId}/hình ảnh loại? = Bình thường

nhỏ kích thước ảnh https://graph.facebook.com/ {facebookId}/picture? Type = small

ảnh Quảng trường https://graph.facebook.com/ {} facebookId/hình ảnh? Type = vuông

+4

+1 để đề cập đến mọi kích thước – Manwal

+1

Đây là cách tôi có thể khám phá FacebookId của riêng tôi: https://developers.facebook.com/tools/explorer/?method=GET&path=me%3Ffields%3Did%2Cname&version=v2.5 – Ryan

27

Để 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ì khác mà 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ể có được.

+0

cũng có thể vượt qua: https://graph.facebook.com /{userID}?fields=picture.type(large) điều này hữu ích khi bạn có một cái gì đó như thế này, Chuỗi url = "https://graph.facebook.com/me?fields=id,name,email, picture.type (lớn) như đã đề 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ỏ, hình vuông ... – yajnesh

3

Ở đây, api này cho phép bạn lấy fb, google, ảnh tiểu sử trên twitter dễ dàng https://www.avatars.io/

+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 đưa ra một tên người dùng cho một loạt các mạng xã hội bao gồm Twitter, Facebook, Instagram và gravatar. Nó 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] (https://github.com/chute/avatars-io). –

+0

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/18928693) –

0

Bạn có thể sử dụng AngularJs cho điều này, tính năng liên kết dữ liệu hai chiều của nó sẽ nhận đượ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 điều này trả lời query.Note của bạn: Bạn có thể sử dụng thư viện khác.

Các vấn đề liên quan