http://www.theverge.com/2015/7/6/8899807/instagram-1080p-pictures-photo-upload
Vergeは最近、Instagramの最新アプリバージョンが1080x1080の解像度で写真をアップロードしていることを知らせました。これらの写真は、サイトのソースコードを参照するときにHTMLを介して簡単に入手できます。これらは公式のInstagram API経由でアクセスできますか?もしそうなら、どのように?
[更新] 2018年3月23日以降
私はエクレム・グルダルの答えを使ってそれを機能させました:
IG APIは、「リンク」属性を提供します。 https://www.instagram.com/p/BTduOwSAwN6/
次に、これに?__ a = 1を追加できます。 https://www.instagram.com/p/BTduOwSAwN6/?__a=1
そして、高解像度の写真が保存されているjsonの結果から抽出できます:graphsql.shortcode_media.display_url
お役に立てれば。 IGの人々は、将来これを無効にする方法を見つけるかもしれません。 APIレスポンスに高解像度の写真を含めるだけではないのはなぜですか、smh
[更新] 2018年3月23日以降、以下の回避策は機能しなくなりました。
2018年にこれを見ている人を更新するだけです。私のために働いた解決策は、解像度を1080x1080に置き換える上で「vp /」を削除することです。
例えば。
https://scontent.cdninstagram.com/vp/41d5aee08758061976d26e48f45e673a/5ADA338E/t51.2885-15/s320x320/e35/20065394_1785212551507111_5192354829363576832_n.jpg
に
https://scontent.cdninstagram.com/41d5aee08758061976d26e48f45e673a/5ADA338E/t51.2885-15/s1080x1080/e35/20065394_1785212551507111_5192354829363576832_n.jpg
なぜ投票権を取り下げられているのかはわかりませんが、いや、現時点ではその解像度はAPIから返されません。ただし、APIによって返される他の解像度から「推測」される可能性がありますが、それはいつでも変更される可能性があります。たとえば、標準解像度のJSONが与えられた場合:
"standard_resolution": {
"url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s640x640/e35/sh0.08/11370971_837216559694773_771634899_n.jpg",
"width": 640,
"height": 640
}
サイズ部分(s640x640
ここ)とそれに続く2つのパス(e35/sh0.08
この写真では、おそらくあなたの写真とは異なる可能性があります)1080x1080
:
https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/11370971_837216559694773_771634899_n.jpg
私のアカウントで解決が有効になってから、これは機能しました。しかし、もう一度、APIを待ちます。
2018年3月26日の時点で、Instagramはリンクを変更しました。 APIから1080x1080の解像度の画像を取得する実用的なソリューションを次に示します。
https://www.instagram.com/{username}/?__a=1
からuser_Idを取得します。
このリンクhttps://i.instagram.com/api/v1/users/{user_id}/info/
にuser_idを貼り付けます。
hd_profile_pic_url_info
からhd urlリンクを取得します。 :)
サイズ部分を削除するだけで、最大の画像が返されることに気付きました。
に
したがって、これはトリックを行う必要があります:
var hightUrl = data.images.standard_resolution.url.replace("/s640x640/","/");
Instagram画像URLの問題は、json応答で提供されるURL署名がしばらくすると期限切れになることです。この問題の回避策は次のとおりです。
手順:1. Instagramの投稿リンクを取得します。例: https://www.instagram.com/p/Bo-Jru-g7Wa/
または、リンクがない場合、instagram apiは結果の配列にpermalink(image-code)オプションを提供します。このオプションは、上記のリンクではBo-Jru-g7Wa
結果:高品質の画像URL:
https://www.instagram.com/p/Bo-Jru-g7Wa/media?size=l
あなたはここで実際にそれを見ることができます: https://jsfiddle.net/nmj1z7wo/fiddle URL
このリンクは、非常に大きなinstagram画像URLの短縮コードと考えることができます。サポートされているサイズの値は、t(サムネイル)、m(中)、l(大)です。デフォルトはmです。
mostパブリックイメージの場合、これは今日(2018年8月15日)うまくいきました。人々はさまざまなアプリを使用して画像をアップロードするため、APIにはさまざまなサイズが表示される場合がありますが、リンクは同じデフォルトの解像度ファイルに対するものです。
username
image-code
/?taken-by = username
image-code
URLからimage-code
/?__ a = 1これは2018年3月20日の時点で機能します。
Vpとサイズ部分を削除します。 150x150の画像がある場合 here
https://scontent.cdninstagram.com/vp/6f28b299faab04675a936073c94d0fde/5B2E3498/t51.2885-15/s150x150/e35/c135.0.810.810/28152308_875888592619569_7505395194448052224_n.jpg
/ vpと/ s150x150を削除して取得します
https://scontent.cdninstagram.com/6f28b299faab04675a936073c94d0fde/5B2E3498/t51.2885-15/e35/c135.0.810.810/28152308_875888592619569_7505395194448052224_n.jpg
そして、1080画像を取得できます ここ
最後の2つのセグメントだけを残すこともできます
https://scontent.cdninstagram.com/e35/28152308_875888592619569_7505395194448052224_n.jpg
お役に立てれば