FB の Graph API とフル サイズの画像を取得する方法に関する多くの既存の質問を認識しています。
しかし、それらの多くはユーザー プロフィールの写真を取得することに関するもので、それらは "/<userid>/picture" などで回答されます。ページフィードから投稿された画像を取得する方法を知る必要があるため、これは私が探しているものではありません。full_image
次に、「検索クエリで使用する」で回答された質問があります。
さて、この時点で私の問題が始まります。full_image
実際には完全なイメージではありません。720x720 ピクセルに制限されています。
例を見てみましょう: Facebook の Graph API エクスプローラーでSPIEGEL ONLINE からこの画像を調べてください。
Graph API リクエストに指定されたパスは次のとおりです。
/38246844868_10154299256109869?fields=full_picture,picture,permalink_url,type,object_id
応答は次のとおりです。
{
"full_picture": "https://scontent.xx.fbcdn.net/v/t1.0-9/s720x720/13450864_1068539139897737_5236884236245491903_n.jpg?oh=20cc415e7931b8eb8a6228ab253bfa53&oe=57E23B8B",
"picture": "https://scontent.xx.fbcdn.net/v/t1.0-0/s130x130/13450864_1068539139897737_5236884236245491903_n.jpg?oh=37c4263e047f841da7243c040a4f279d&oe=57C6469E",
"permalink_url": "https://www.facebook.com/spiegelonline/posts/10154299256109869",
"type": "photo",
"object_id": "1068539139897737",
"id": "38246844868_10154299256109869"
}
ご覧のとおり、私はpicture
(これは単なる親指です) と でインデックス付けされたフルサイズの画像をリクエストしましたfull_picture
。残念ながら、この写真はフルではなく、サイズを変更したものです。画像の URL には、最大で 720x720 しかないことが記載されています。
ここにあります: https://scontent.xx.fbcdn.net/v/t1.0-9/s720x720/13450864_1068539139897737_5236884236245491903_n.jpg?oh=20cc415e7931b8eb8a6228ab253bfa53&oe=57B23B8
後ろのFacebookページにアクセスするpermalink_url
と、画像投稿が表示されます。
どうぞ: https://www.facebook.com/spiegelonline/posts/10154299256109869
投稿された画像をフルスクリーン モードで開き、右クリックして画像ファイルを表示すると、画像が 720x720 よりもはるかに大きくなることがわかります。
そこにあります: https://scontent-frt3-1.xx.fbcdn.net/t31.0-8/13422344_1068539139897737_5236884236245491903_o.jpg
上記のように、API エンドポイントによって応答された URL と比較してください。サーバーも違います。そのため、SO に関する他のいくつかの質問で言及されているように、「_n」を「_o」に置き換える簡単な解決策はありません。
私の質問は、Graph API を使用してフルサイズの画像 URL を取得するにはどうすればよいですか?
TL;DR: Facebook の Graph API は、ページのフィードに投稿されたサイズ変更された画像を、full_image
. では、実際の完全な (サイズ変更されていない) 画像を取得する方法について説明します。