2017-03-28 10 views
3

私はFacebookと統合されたアプリケーションのメンテナンスを手伝っています。古いプライベートメッセージ画像へのリンクがたくさんあります。時にはこれらの画像が切れると、私たちはFacebookに行き、新しい画像を要求します。これは90%の時間で動作します。Facebook APIプライベートメッセージ画像の期限切れ - 新しい画像の入手方法? URL署名の有効期限が切れました

新しい画像が何であるかわからない応答が返ってくるのは約10%です。

有効期限が切れたFacebookプライベートメッセージ画像の新しいURLをリクエストする適切な方法は、好ましくはv2.5以降のGraph APIを使用してください。

現在、我々はそうのようなプライベートメッセージのメッセージID使用してFacebookのグラフAPIにGETリクエストをやっている:

https://graph.facebook.com/v2.3/m_mid.XXXXXXXXX:YYYYYYYYY

をし、それが私たちにattachmentsの束を持っている応答を与えますそれ。使用例の90%には、新しいファイル名がurlまたはnameの新しい添付ファイルがあり、新しいファイル名には古いファイル名が含まれています。古いファイル名がXXXの場合、urlフィールドに.... XXXX ....のような新しいファイル名が表示されます。

attachments [url='*%s*']/image_data/url 
attachments [name='*%s*']/image_data/url 

または時々

picture 

それdoesntのは、新しいイメージにマッピングする方法はありませんし、添付ファイルの束である、我々は今、何を得ると一致します。

答えて

0

我々はこれを行うのグラフAPIの方法を見つけることができたが、私たちは考えている次のソリューションを持っていない:

  • 唯一の添付ファイルが応答してありますとき、私たちはそれを使用1つのURL。これは時間の一部ですが、複数の画像がある場合には失敗します

  • 画像のメタデータを最悪の場合、ファイルのMD5に保存します。それから私たちが望むものを得るまで、それを他のファイルのMD5と比較してください。 MD5ではなく、HEADリクエストからのファイルに関する情報の使用を検討することができます。このすべてはテストされていません。

  • これが発生するたびに私たちの古いメッセージメタデータを新しいメタデータで更新することで、新しいメタデータから新しいイメージ要求が発生するのを防ぐことができます。

関連する問題