2013-09-04 5 views
5

ダイレクトメッセージに添付されたファイルへのリンクを保存する必要があります(「/conversations」で取得したページ)。どうやってやるの?ページのためのグラフAPIダイレクトメッセージ:添付ファイルへのリンクを取得する方法

私はイメージのリンクを取得する方法を知っています。画像のJSONオブジェクト( "attachments")には、画像にアクセスするためのタグ「url」と「preview_url」を含むタグ「image_data」が含まれています。 (私の場合は、例えばPDF)添付ファイルについては

は、FBは、 "name" と "size"、ない追加データを "mime_type" "id" を送信します。例:

"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"はメッセージとともに提供され、私のpageidを知っています)。

これは非常に信頼性が低いようです。このリンクはいつでも変更される可能性があります。

私は多くを検索しましたが、これに関するドキュメントは見つかりませんでした。誰かがより良い解決策を知っていますか?または、誰かがこの問題に関するいくつかの文書を私に指摘することができますか?

ありがとうございます!

バーバラ

+0

私はまったく同じことをしました。ログインしていないときに添付ファイルにアクセスしようとすると、Facebookは空白のページを返すように見えます。これは、これが失敗する少なくとも1つのユースケースです。 – dirkbonhomme

答えて

関連する問題