Мне нужно сохранить ссылку на файл, прикрепленный к прямому сообщению (для страницы, полученной с помощью «/conversations
»). Как я могу это сделать?
Я знаю, как получить ссылку на изображение. JSON-объект для изображения ("attachments
") содержит тег "image_data
", который содержит теги "url
" и "preview_url
" для доступа к изображению.
Для вложенных файлов (в моем случае, например, PDF) FB отправляет только «id
», «mime_type
», «name
» и «size
», но никаких дополнительных данных. Пример:
"id": "m_id.158623824339344"
....
"attachments": {
"data": [
{
"id": "7b84fd4c0f18fb4060ae0fe0dcfeb42e",
"mime_type": "application/pdf",
"name": "Attachment1.pdf",
"size": 80798
}
]
}
Но когда я захожу в FB как пользователь и нажимаю на вложение в браузере, я получаю эту ссылку:
https://www.facebook.com/ajax/messaging/attachment.php?attach_id=<attach_id>&mid=id.<mid>&pageid=<pageid>&ext=<ext>&hash=AQCafpYeZj2pSjRk
Методом проб и ошибок выяснил, что можно получить доступ к файлу без "hash
" и "ext
"-части. Это означает, что теоретически я могу сгенерировать эту ссылку в своем приложении ("attach_id
" и "mid
" предоставляются вместе с сообщением, и я знаю свой идентификатор страницы).
Но это кажется очень ненадежным. Эта ссылка может измениться в любое время, что нарушит мое приложение.
Я много искал, но не смог найти никакой документации об этом. Кто-нибудь знает лучшее решение? Или может кто-нибудь указать мне на какую-то документацию по этой проблеме?
Большое спасибо!
Барбара