web-dev-qa-db-ja.com

InstagramSquare写真API

InstagramはAPIを介してポートレート/風景を取得する方法を提供しますか? APIドキュメントは手つかずのように見えます。

現在のところ、ポートレート画像の正方形のサイズが返されますが、APIドキュメントには元の画像を取得する方法が記載されていません。

彼らは正方形の画像を返し続けますか? Instagramにこれについてコメントはありますか?

11
Pedro Casado

2015年9月4日更新:

2015年9月3日の時点で、 InstagramではAPIクライアントが元のアスペクト比で画像を取得できるようになりました (つまり、横向き、縦向きの場合は長方形)、で新しい設定を更新した場合、画像はトリミングされませんAPIクライアント。

手順:

  1. https://instagram.com/developer/ でクライアントアプリケーション設定にログインします
  2. 上部のナビゲーションメニューで[クライアントの管理]をクリックします。
  3. APIクライアントを見つけて、編集をクリックします。
  4. APIクライアントアプリケーションのMigrationsタブをクリックし、[非正方形メディア]というチェックボックスをオンにします。
  5. クライアントの更新をクリックします。

enter image description here

それでおしまい!これで、APIエンドポイントから画像を取得するときに、アップロードされたポートレート、ランドスケープは正方形の画像にトリミングされず、元の画像が返されます。

関連ブログ投稿: 横向きおよび縦向きフォーマットのAPI移行

以前の回答(非推奨。正方形バージョンと非正方形バージョンの両方が必要な場合を除いて使用しないでください。まだハッキーです:))

はい、APIは手つかずのように見えますが、LandscapesとPortraitsの元の画像にアクセスするためのハックを見つけました。 images配列で返されたURLのセクションをプログラムで削除する必要があります。

以下を参照してください-スニペット 私の答えはここにあります

APIは、ポートレートまたはランドスケープとしてアップロードされたものであっても、画像の正方形バージョンを返します。元の横向き/縦向きの画像も必要な場合は、API応答で対処するまで、少しハックする必要があります(詳細は以下を参照)。

例を見て、それを見ていきましょう。

テイラーのこの1枚の写真を参照してくださいSwift IGのブログ投稿/プレスリリース -- @ johnbenett で言及されたユーザーの1人によってアップロードされました

https://instagram.com/p/6ZVIHTJLYg/

これは元のアップロードされた写真です-ポートレート512ピクセルx640ピクセル

enter image description here

上記のポートレート画像のさまざまな画像(サムネイルを含む)について、InstagramAPIが返すものは次のとおりです。

  "images": {
    "low_resolution": {
      "url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s320x320/e35/c0.135.1080.1080/11909195_1715998838621946_791786043_n.jpg",
      "width": 320,
      "height": 320
    },
    "thumbnail": {
      "url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s150x150/e35/c0.135.1080.1080/11909195_1715998838621946_791786043_n.jpg",
      "width": 150,
      "height": 150
    },
    "standard_resolution": {
      "url": "https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s640x640/sh0.08/e35/c0.135.1080.1080/11909195_1715998838621946_791786043_n.jpg",
      "width": 640,
      "height": 640
    }

したがって、このポートレート画像に対してAPIによって返される標準解像度の画像は640 pxの正方形であり、次のようになります。

enter image description here

このポートレート画像のAPIによって返される低解像度の画像は320ピクセルの正方形で、次のようになります。

enter image description here

最後になりましたが、このポートレート画像のAPIによって返されるサムネイル画像は150ピクセル四方で、次のようになります。

enter image description here

では、風景やポートレートとしてアップロードされた写真の元の画像をどのように取得しますか?

APIは現在1セットの画像しか返しませんが、サイトは元のアスペクト比の画像を表示できるので、少し調べてみたところ、正方形の画像からURLの最後の1つのセクションを削除すると気づきました。 URL(この例では、/c0.135.1080.1080を削除)を使用すると、元のアスペクト比のサイズ(およびトリミングされていない)の横向き、縦向きの画像になります。

上記と同じ例を維持します。

標準解像度のポートレート画像(512ピクセルx 640ピクセル)URL:https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s640x640/sh0.08/e35/11909195_1715998838621946_791786043_n.jpg

こんな感じです。

enter link description here

低解像度のポートレート画像(256ピクセルx 320ピクセル)URL:https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s320x320/e35/11909195_1715998838621946_791786043_n.jpg

こんな感じです。

enter image description here

サムネイルポートレート画像(120 px x 150 px)URL:https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/s150x150/e35/11909195_1715998838621946_791786043_n.jpg

こんな感じです。

enter image description here

お役に立てれば。

23
Shiva