2013-09-04 32 views
5

Tôi cần lưu trữ liên kết đến tệp được đính kèm với thư trực tiếp (cho trang, được truy xuất bằng "/conversations"). Làm thế nào tôi có thể làm điều đó?Thông báo trực tiếp API đồ thị cho trang: cách truy xuất liên kết đến tệp đính kèm

Tôi biết cách tải liên kết của hình ảnh. Đối tượng JSON cho hình ảnh ("attachments") chứa thẻ "image_data", chứa thẻ "url" và "preview_url" để truy cập hình ảnh.

Đối gắn file (trong trường hợp của tôi ví dụ một PDF), FB chỉ gửi "id", "mime_type", "name" và "size", nhưng không có dữ liệu bổ sung. Ví dụ:

"id": "m_id.158623824339344" 
.... 
"attachments": { 
    "data": [ 
    { 
     "id": "7b84fd4c0f18fb4060ae0fe0dcfeb42e", 
     "mime_type": "application/pdf", 
     "name": "Attachment1.pdf", 
     "size": 80798 
     } 
    ] 
} 

Nhưng khi tôi đăng nhập vào FB như một người dùng và nhấp vào tập tin đính kèm trong trình duyệt, tôi nhận được liên kết này:

https://www.facebook.com/ajax/messaging/attachment.php?attach_id=<attach_id>&mid=id.<mid>&pageid=<pageid>&ext=<ext>&hash=AQCafpYeZj2pSjRk 

Bằng cách thử và sai tôi phát hiện ra rằng nó có thể truy cập tệp mà không có "hash" và "ext" -part. Điều này có nghĩa là về lý thuyết tôi có thể tạo liên kết này trong đơn đăng ký của tôi ("attach_id" và "mid" được cung cấp cùng với thông báo và tôi biết trang của mình).

Nhưng điều này có vẻ rất không đáng tin cậy. Liên kết này có thể thay đổi bất cứ lúc nào, vi phạm ứng dụng của tôi.

Tôi đã tìm kiếm rất nhiều nhưng không thể tìm thấy bất kỳ tài liệu nào về điều này. Có ai biết một giải pháp tốt hơn? Hoặc ai đó có thể chỉ cho tôi một số tài liệu liên quan đến vấn đề này?

Cảm ơn rất nhiều!

Barbara

+0

tôi đã làm điều tương tự. Có vẻ như Facebook trả về một trang trống khi bạn cố gắng truy cập một tệp đính kèm khi không đăng nhập. Vì vậy, đó là ít nhất một trường hợp sử dụng trong đó không thành công .. – dirkbonhomme

Trả lời

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