Làm thế nào tôi có thể nhận được facebook ảnh với quan điểm lựa chọn người dùng thiết lập (nếu họ sử dụng hình ảnh lớn). Nếu tôi sử dụng loại = "lớn" hoặc "bình thường" hoặc "nhỏ" trong biểu đồ đường dẫn thì tôi nhận được hình ảnh nhưng không phải hình vuông và không phải là chế độ xem lựa chọn của tập hợp người dùng. Vì vậy, làm thế nào tôi có thể nhận được hình ảnh với kiểu vuông và đó là quan điểm của người sử dụng thiết lậpGraph API được ảnh vuông (100x100)
Trả lời
Hãy thử sử dụng các loại square
. Như sau:
http://graph.facebook.com/[user_id]/picture?type=square
Kích thước hình vuông được giới hạn ở 50x50. Nếu bạn muốn có kích thước lớn, bạn sẽ phải phóng to phiên bản hình vuông hoặc cắt phiên bản lớn.
Nếu bạn không nhớ tự mình truy xuất và cắt xén hình ảnh, hãy làm theo tutorial here để biết mã để thực hiện chính xác điều đó. Nó sẽ cho phép bạn tạo ra hình ảnh vuông lớn hơn 50px.
Bạn có thể nhận được một bức tranh vuông kích thước cao hơn so với cái bình thường đối với type=square
(mà sẽ chỉ 50x50 pixel trong kích thước) bằng cách yêu cầu một bức tranh với width
và height
thông số thiết lập.
Xem https://developers.facebook.com/docs/reference/api/user/, “bức tranh” kết nối, quote:
“Ngoài ra, bạn có thể chỉ định các thông số chiều rộng và chiều cao URL để yêu cầu một hình ảnh của một kích thước cụ thể. Điều này sẽ trả về một hình ảnh hồ sơ cá nhân sẵn gần với kích thước yêu cầu và tỉ lệ yêu cầu. [...] nếu width = chiều cao, chúng tôi sẽ luôn luôn trả về một hình ảnh vuông “
Ví dụ:
https://graph.facebook.com/4/picture?type=square - ông Zuckerberg‘ bình thường’vuông hồ sơ pic, kích thước 50x50
https://graph.facebook.com/4/picture?width=100&height=100 - 100x100 pixel, đối sánh hoàn hảo cho kích thước được yêu cầu
https://graph.facebook.com/4/picture?width=150&height=150 - yêu cầu 150x150, nhận 156x156 thay thế.
Nếu bạn có thể sống với đôi khi có thể nhận được hình ảnh có thể lớn hơn một chút (hoặc nhỏ hơn) thì kích thước được yêu cầu, bạn sẽ ổn.
Nếu không, sẽ có một số thử nghiệm để thử và tìm ra nếu có một số kích thước hình vuông nhất định mà Facebook sẽ luôn có "trong kho" và cung cấp kết quả khớp chính xác, hoặc nếu nó có thể khác nhau cho mỗi người dùng tùy thuộc vào hình ảnh họ đã tải lên.
Nếu hình đại diện là hình ảnh lớn và hình ảnh người dùng di chuyển để đặt hình ảnh trong cổng xem, nó nhận được tập tin sai (hình ảnh trở lại mà không kích thước tôi muốn hoặc đôi khi Nó không phải là hình ảnh trong cổng xem của người dùng thiết lập). Làm thế nào tôi có thể xử lý trường hợp này? –
@HuyTran https://graph.facebook.com/zuck/picture?type=square ** không ** trả về một hình vuông trong cổng xem của người dùng đã đặt. – borisdiakur
@Lego: với đường dẫn đó tôi có thể nhận được hình ảnh trong cổng xem và chỉ kích thước 50x50. Nhưng tôi muốn kích thước 100x100, với người dùng tải lên hình ảnh lớn và không di chuyển hình ảnh (trong hình thu nhỏ chỉnh sửa) -> kết quả của đường dẫn 'graph.facebook.com/zuck/picture? Width = 100 & height = 100' sẽ nhận được chính xác hình ảnh với kích thước tôi muốn, trong trường hợp người dùng di chuyển hình ảnh -> kết quả của hình ảnh có kích thước 50x50. Tôi không biết chuyện gì đang xảy ra? –
Tải ảnh bằng cách truy vấn user's profile data using FQL. Trong trường hợp của bạn, bạn không cần bất kỳ mã thông báo truy cập nào. Có một cột gọi là pic_crop
đó là một đối tượng có chứa các uri bạn cần:
URL để hình ảnh hồ sơ cá nhân lớn nhất vuông có kích thước cho đối tượng được truy vấn.
width
,height
: kích thước pixel của ảnh này.left
,top
,right
,bottom
: tọa độ điểm ảnh của người dùng đã chọn cắt cho ảnh tiểu sử này.
Sử dụng Graph API Explorer để thử nghiệm truy vấn của bạn.
Cập nhật: Từ Facebook Query Language (FQL) Tham khảo:
Version 2.0 của API Facebook Platform là phiên bản cuối cùng nơi FQL sẽ có sẵn. Các phiên bản sau 2.0 sẽ không hỗ trợ FQL. Vui lòng di chuyển các ứng dụng của bạn để sử dụng Graph API thay vì FQL. Vui lòng xem changelog của chúng tôi để biết thông tin phiên bản hiện tại.
Đối với người đọc trong tương lai: FQL sẽ không được dùng nữa – Raptor
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{ @"fields" : @"id,name,picture.width(100).height(100)"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
}
thay vì 100 bạn có thể đặt 200, 300 mã hóa các phản ứng và làm cho nó với phím
Tùy chọn này tốt hơn cho tôi –
Bạn có thể vui lòng kiểm tra bài đăng này và giúp tôi http://stackoverflow.com/questions/37135893/high-resolution-images-from-facebook – Jecky
này đã làm việc cho tôi. Kiểm tra truy vấn sau, NSString * graphPath = [NSString stringWithFormat:@"%@?fields=photos.fields(id,link,source)", albumID];
Đối với 'hình ảnh' không có gì có kích thước 100x100, chỉ 50x50 nhỏ ...' https://developers.facebook.com/docs/graph-api/reference/v2.0/user/picture' một số hình ảnh không phải là hình vuông và sẽ được trả lại như vậy. – vsync