画像のInstagramメディアIDはどこで確認できますか?

アップロードされたInstagramの画像のMediaIDを探しています。以下のようになります。

1234567894561231236_33215652

最後の整数セットが usersID であることがわかりました。

例えば、これは画像への直接のリンクですが、正しい形式の mediaID が見当たりません。

http://distilleryimage11.ak.instagram.com/d33aafc8b55d11e2a66b22000a9f09de_7.jpg

これはリンクですが

http://instagram.com/p/Y7GF-5vftL/

選択した画像のMediaIDが必要なだけなので、APIは使いたくありません。

Here's a better way:

http://api.instagram.com/oembed?url=http://instagram.com/p/Y7GF-5vftL/

jsonオブジェクトとしてレンダリングし、そこからメディアIDを簡単に抽出することができます。

例えば、PHPでは

$api = file_get_contents("http://api.instagram.com/oembed?url=http://instagram.com/p/Y7‌​GF-5vftL/");      
$apiObj = json_decode($api,true);      
$media_id = $apiObj['media_id'];

例えば、JSの場合

$.ajax({     
    type: 'GET',     
    url: 'http://api.instagram.com/oembed?callback=&url=http://instagram.com/p/Y7GF-5vftL‌​/',     
    cache: false,     
    dataType: 'jsonp',     
    success: function(data) {           
        try{              
            var media_id = data[0].media_id;          
        }catch(err){}   
    } 
});
解説 (10)

あなたのメディアIDは448979387270691659_45818965 このようになっています。

1.instgram.com/usernameにアクセスします。 2.IDを取得したい写真をクリックします。 3.(写真の上で右クリック(Chromeの場合はポップアップ画像が表示されます) 4.要素の検査 5.選択したテキストを検索すると、次のようなものが表示されます。

そこにはあなたの写真付きIDがあるはずです。

なぜか、これはポップアップでのみ動作するようで、実際の画像URLでは動作しません。

解説 (0)

純粋なJSで(ブラウザがXHRを処理できることが条件で、主要なブラウザ(IE > 6を含む)はこれに対応しています)。

function igurlretrieve(url) {

  var urldsrc = "http://api.instagram.com/oembed?url=" + url;

  //fetch data from URL data source
  var x = new XMLHttpRequest();
  x.open('GET', urldsrc, true);
  x.send();

  //load resulting JSON data as JS object
  var urldata = JSON.parse(x.responseText);

  //reconstruct data as "instagram://" URL that can be opened in iOS app
  var reconsturl = "instagram://media?id=" + urldata.media_id;
  return reconsturl;

}

InstagramのiOSアプリでページを開く、というのが目的であれば、特にライセンス料を負担したくないのであれば、これで十分です。

解説 (0)