0

私はFB's Graph API and how to retrieve full sized imagesに関する多くの既存の質問に気付いています。アクセサーの名前は「full_picture」ですが、FacebookのGraph APIではフルサイズの画像は配信されません。

しかし、それらの多くは、ユーザーのプロファイル画像を得ることについて、それらは「/ <ユーザーID > /絵」または類似のものと答えているされています。投稿された画像をページフィードから取得する方法を知る必要があるので、これは私が探しているものではありません。次に、「full_imageを検索クエリに使用」と回答した質問があります。

まあ、この時点で私の問題が始まります。 full_imageは実際には完全な画像ではありません。 720×720ピクセルに制限されています。

例を見てみましょう:FacebookのグラフAPIエクスプローラで explore this picture from SPIEGEL ONLINEを見てみましょう。

与えられたパスグラフ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=57E23B8B

あなたがイメージポストに着くpermalink_url後ろにFacebookページを訪問したとき。

ここに私達は行く: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を比較してください。サーバーも異なっています。したがって、ここでの他のいくつかの質問で言及したように、 "_n"を "_o"に置き換えると簡単な解決策はありません。

私の質問は、グラフAPIを使用してフルサイズの画像URLを取得するにはどうすればよいですか?

TL: FacebookのグラフAPIは、full_imageでアクセスしてページのフィードに投稿されたサイズ変更された画像を配信するようです。それで、実際の完全な(サイズ変更されていない)イメージを取得する方法。

答えて

1

グラフAPIエクスプローラでもう一度やり直してから、解決策が見つかりました。それは私が思ったよりずっと簡単です。

あなたがする必要があるのは、次のいくつかの手順です:

  1. ジャスト(full_pictureアクセサなしでこの時間は、唯一object_idがここでは重要である)、このパスを要求:

/38246844868_10154299256109869?fields=object_id

  1. object_idをAPIの応答から取得します。

    { "OBJECT_ID": "1068539139897737"、 "ID": "38246844868_10154299256109869" }

この例では、"1068539139897737"です。

次に
  • 、上記object_idのすべてのimagesを要求:
  • /1068539139897737?fields=images

  • 応答はJSONなどでありますこれ:

    { "イメージ":[ { "高さ":2048、 "ソース": "https://scontent.xx.fbcdn.net/v/t31.0-8/13422344_1068539139897737_5236884236245491903_o.jpg?oh=e923e167d258e77c12caf422d98b44aa&oe=59968118」、 "幅":1536 }、{ "高さ":1280、 "ソース": "https://scontent.xx.fbcdn.net/v/t31.0-8/p960x960/13422344_1068539139897737_5236884236245491903_o.jpg?oh=7a5086e29957b222c2fd1136f3640c98&oe=598633CD"、 "" 幅:960 }、ここで、間に // ...多くの他... { "高さ":225、 "ソース": "https://scontent.xx.fbcdn.net/v/t1.0-0/p75x225/13450864_1068539139897737_5236884236245491903_n.jpg?oh=26d94247c4e34a69fb0db3fb1ae213b5&oe=599353F9"、 "幅":168 }]、 "ID": "1068539139897737" }ダウンしimagesリストから

  • -sorサイズだけで、最初のエントリを取得します。そのsourceを取得してください - これは完全な画像です。

  • +0

    ...なぜJSONレスポンスがコードスタイルで正しくフォーマットされていないのかわかりません。何か案は? – Arvid

    関連する問題