2012-04-24 22 views
7

Tôi đang truy vấn ảnh của một album bằng trình khám phá đồ họa api.Có cách nào đáng tin cậy để lấy kích thước của phiên bản lớn nhất của ảnh album facebook không?

graph.facebook.com/[album_id]/photos 

Kết quả bao gồm khóa "hình ảnh" liệt kê tám phiên bản hình ảnh. Lớn nhất được liệt kê là 2048x1529, tuy nhiên khi tôi mở hình ảnh thực tế nó chỉ là 604x451, là các thứ nguyên được liệt kê cho phiên bản lớn nhất tiếp theo.

Ứng dụng của tôi cần biết kích thước hình ảnh chính xác trước thời hạn. Làm cách nào tôi có thể tìm thấy kích thước hình ảnh có sẵn lớn nhất một cách đáng tin cậy?

+0

Bạn đang sử dụng SDK nào? Bạn đã thử cái gì? –

+0

Vấn đề này rõ ràng khi sử dụng Graph API Explorer. Mã của tôi sử dụng Đá quý OAuth2 ruby. –

+0

Các giá trị không chính xác, tôi chưa thực sự thử bất kỳ điều gì khác ngoài việc nhận được phản hồi JSON từ API biểu đồ và quan sát rằng các giá trị không chính xác. –

Trả lời

1

Cho rằng kết quả trả về từ ALBUM_ID/ảnh không đáng tin cậy, tôi tin rằng phương pháp sau đây là gần nhất bạn có thể tới ý định của bạn nhận được kích thước của phiên bản hình ảnh lớn nhất:

Bạn có thể lấy các kích thước của hình ảnh phóng to mà bạn nhìn thấy khi bạn nhấp vào một ảnh trong anbom trực tuyến. Hình ảnh này được gọi là src_big trong FQLphoto table. Bạn lấy kích thước với truy vấn FQL này:

SELECT src_big_width, src_big_height 
FROM photo 
WHERE object_id=OBJECT_ID 

nơi object_id là số đối tượng id Facebook của ảnh.

Cuộc gọi trông như thế này,

https://graph.facebook.com/fql?q=SELECT src_big_width,src_big_height FROM photo WHERE object_id=OBJECT_ID 

Bạn cần

friends_photos 
user_photos 

quyền và một thẻ truy cập.

Để có được url đến hình ảnh src_big, thêm src_big với truy vấn:

SELECT src_big, src_big_width, src_big_height 
FROM photo 
WHERE object_id=OBJECT_ID 

Hình ảnh src_big có chiều rộng tối đa hoặc chiều cao 720 pixel nếu hình ảnh đã được tải lên trước ngày 1 tháng 3, 2012. Nếu nó được tải lên sau ngày đó, tối đa là 960 pixel.

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