Instagramはユーザー名から私のユーザーIDを取得する方法?


125

JSONを使用して画像フィードをウェブサイトに埋め込んでいます。このフィードを取得するには、URLにユーザーIDが必要です。

では、ユーザーIDはどこで検索/取得できますか?


1
このための新しいより高速なツールを見つけました。codeofaninja.com
tools /

誰かが頻繁にユーザー名を変更する場合に備えて、ユーザーIDからユーザー名を見つけることもできます。アクセストークンなしで機能する回答を追加しました:stackoverflow.com/a/60744028/1176454
baptx

回答:


235

非常に遅い答えですが、これがこのトピックの最良の答えだと思います。これがお役に立てば幸いです。

以下のURLでリクエストが行われると、ユーザー情報を取得できます。

https://www.instagram.com/{username}/?__a=1

例えば:

このURLは、ユーザー名がtherockであるユーザーに関するすべての情報を取得します

https://www.instagram.com/therock/?__a=1

2019年6月20日更新、APIは現在公開されています。認証は必要ありません。

2018年12月11日更新、このエンドポイントがまだ機能していることを確認する必要がありました。このサイトはパブリックエンドポイントではないため、このサイトにリクエストを送信する前にログインする必要があります。ログイン手順も簡単です。これは私のデモです:https : //youtu.be/ec5QhwM6fvc


2018年4月17日の更新で、このエンドポイントはまだ機能しているようです(ただし、パブリックエンドポイントではなくなっています)。追加情報を含むリクエストをそのエンドポイントに送信する必要があります。(F12キーを押して開発者ツールバーを開き、[ネットワーク]タブをクリックして要求をトレースします。)

忙しいのでごめんなさい。この情報が皆さんのお役に立てば幸いです。よろしければ、お気軽に投票してください。


2018年4月12日更新、cameronjoneswebは、このエンドポイントはもう機能しないと述べました このエンドポイントにアクセスしようとすると、403ステータスコードが返されます。



1
どうやって分かったの?
nilfalse

6
ブラウザの開発者用ウィンドウを開き、[ネットワーク]タブを開くと、このURLへのリクエストを確認できます。
Thinh Vu

3
所有者IDを探します。
Gulok

1
これはすごい!いい発見。これでレートが制限されないようにしましょう。
2016年

2
残念ながら、これは、知っている特定のユーザーIDがない限り機能しません。Instagramがその有効なリクエストがヘッダーで送信されたCookieによるものかどうかをチェックする方法。user_idがcookieプロパティに存在する場合、それは有効なリクエストと見なされます。表示されているURLに移動するときに、リクエストヘッダーのcookieプロパティを確認してください
Kiong

39

検索するユーザー名とアクセストークンを使用して、ブラウザにこのURLを入力します

https://api.instagram.com/v1/users/search?q=[USERNAME]&access_token=[ACCESS TOKEN]

16
悲しいことに; これには欠陥があります:(このURLを更新すると、ユーザー名が検索したユーザー名で始まる他のユーザーをランダムに取得できることがわかりました。たとえば、「fred1」を検索しているが、「fred123 "、あなたはランダムな結果を取得します!Instagramに報告されます;応答を待っています:(
Danny Tuppeny 2014

@frostyかなり信頼できないと思います—より良い結果が得られましたか?
サンベッカー、2016年

これには「public_content」権限が必要なので、これは機能しません。
desloovere_j 2016年

@DannyTuppeny Instagramから返事がありましたか?
2016

@Queue有用なものは何もありません。ゴミです。結局私たちはあきらめ、6月に行われた変更によってとにかく統合が完全に壊れて以来、アプリから完全に取り除いています。
ダニーTuppeny 16

18

ほとんどのメソッドは、2016年1月1日のAPIの変更以降、廃止されています。

以下は私のために働きました、

  • ブラウザのInstagramにアクセスするには、Chrome、Safari、Firefoxと言います。
  • 開発者ツールを起動し、コンソールオプションに移動します。
  • コマンドプロンプトで以下のコマンドを入力し、Enterキーを押します。

    window._sharedData.entry_data.ProfilePage[0].user.id
    

運が良ければ、最初の試みが行われますが、そうでない場合は、しばらく待ってからページを更新して、もう一度試してください。user-idが表示されるまで続けます。幸運を!!


1
このソリューションのコード例を次に示します。github.com/vhpoet/liltools/blob/master/index.js#L13-L28ホスト:liltools.com/instagram
Vahe Hovhannisyan

18

ユーザーIDとユーザーの詳細を簡単に取得

https://api.instagram.com/v1/users/search?q= [ ユーザー名]&client_id = [YOU APPクライアントID]

例えば:

https://api.instagram.com/v1/users/search?q=zeeshanakhter2009&client_id=enter_your_id

結果:

{"meta":{"code":200}、 "data":[{"username": "zeeshanakhter2009"、 "bio": "http://about.me/zeeshanakhter"、 "website": "http: //zeeshanakhter.com","profile_picture":"http://images.ak.instagram.com/profiles/profile_202090411_75sq_1377878261.jpg","full_name":"Zeeshan Akhter "、" id ":" 202090411 "}]}


1
最も簡単な方法。また、アクセストークンは必要ありません。大好きです:)
Can Vural

1
私はまた、javaでそのヘルプ
Zeeshan Akhter '25

6
悲しいことに; これには欠陥があります:(このURLを更新すると、ユーザー名が検索したユーザー名で始まる他のユーザーをランダムに取得できることがわかりました。たとえば、「fred1」を検索しているが、「fred123 "、あなたはランダムな結果を取得します!Instagramに報告されます;応答を待っています:(
Danny Tuppeny 2014

1
私はダニーに同意します。この方法は常に機能するとは限りません。
CA

2
2016
Malcolm Box

14

APIを使用する代わりに、Instagramのユーザーページを調べてIDを取得できます。PHPのコード例:

$html = file_get_contents("http://instagram.com/<username>");
$doc = new DOMDocument();
$doc->loadHTML($html);

$xpath = new DOMXPath($doc);
$js = $xpath->query('//body/script[@type="text/javascript"]')->item(1)->nodeValue;

$start = strpos($js, '{');
$end = strrpos($js, ';');
$json = substr($js, $start, $end - $start);

$data = json_decode($json, true);
$data = $data["entry_data"]["UserProfile"][0];
# The "userMedia" entry of $data now has the same structure as the "data" field
# in Instagram API responses to user endpoints queries

echo $data["user"]["id"];

もちろん、Instagramがそのページ形式を変更する場合は、このコードを改造する必要があります。


4
APIを使用しないのは悪い考えのようです
472084

2
Thinh Vuの回答にあるよう?__a=1に、window._sharedDataオブジェクトにJSONだけを追加して、のようなことができるようにすることができますcurl https://www.instagram.com/username/?__a=1|jq -r .user.id
nisetama 2016

7

現在、ユーザー名からユーザーIDを取得するための直接のInstagram APIはありません。GET / users / search API を呼び出して結果を反復処理し、usernameフィールド値がユーザー名と等しいかどうかを確認してから、を取得する必要がありますid


6

ユーザー名でInstagram IDを取得するためのツールを作成しました:InstagramユーザーIDルックアップ

これは、利用のpython-のInstagramの APIにアクセスするためのライブラリをと含むソースコードへのリンクのInstagramのAPIの様々な実装を示す図である(Djangoの上に書かれた)を、。

更新Ruby on Railsへの移植のためのソースコードが追加されました。


4
ユーザー名リンクでInstagram IDを取得するためのツールが機能していません。更新してください。
Nishant Nawarkhede 14

@JaydeepJadavは「どうぞ」ほどではありませんか?ソースコードはGitHubにあります-プルリクエストを開くことは大歓迎です。
zeantsoi 2016年

5

上記の解決策をすべて試しましたが、どれも機能しません。Instagramがその変化を加速させたと思います。しかし、ブラウザコンソールの方法を試してみて、少し遊んでみたところ、ユーザーIDを与えるこのコマンドが見つかりました。

window._sharedData.entry_data.ProfilePage[0].graphql.user.id

プロファイルのページにアクセスして、コンソールにこのコマンドを入力するだけです。ただし、これを機能させるには、ページを更新する必要がある場合があります。(評判が低いため、これを回答として投稿する必要がありました)


5

2018年10月14日の時点でアクセストークンを使用しないソリューション:

ユーザー名を検索:

https://www.instagram.com/web/search/topsearch/?query=<username>

例:

https://www.instagram.com/web/search/topsearch/?query=therock

これは検索クエリです。返信で完全に一致するエントリを見つけ、そのエントリからユーザーIDを取得します。


短くて最良の回答ですが、ユーザー名が見つからない場合は、関連する結果が表示されます。
sanjeet bisht

4

あなたは使用する必要がInstagrams APIあなたに変換するusernameにはid

私が正しく覚えている場合はusers/search、ユーザー名を見つけてそこからIDを取得するために使用します


それを行う方法を教えてください!?
ムハンマドレダ

何をしますか?検索はAPIリクエストによって行われusers/search、それを取得しidて、好きなように使用します
mlishn

4
悲しいことに; これには欠陥があります:(このURLを更新すると、ユーザー名が検索したユーザー名で始まる他のユーザーをランダムに取得できることがわかりました。たとえば、「fred1」を検索しているが、「fred123 "、あなたはランダムな結果を取得します!Instagramに報告されます;応答を待っています:(
Danny Tuppeny 2014


3

IDを取得するには、Instagram API users/self/feedエンドポイントに認証済みリクエストを送信します。応答には、他のデータの中でも、ユーザー名とユーザーのIDが含まれます。




2

これは、apigee.com Instagram APIアクセスを通じて、Instagramの開発者サイトにアクセスできます。ログイン後、「/ users / search」APIコールをクリックします。そこから、任意のユーザー名を検索してそのIDを取得できます。

{
"data": [{
    "username": "jack",
    "first_name": "Jack",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_66_75sq.jpg",
    "id": "66",
    "last_name": "Dorsey"
},
{
    "username": "sammyjack",
    "first_name": "Sammy",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_29648_75sq_1294520029.jpg",
    "id": "29648",
    "last_name": "Jack"
},
{
    "username": "jacktiddy",
    "first_name": "Jack",
    "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_13096_75sq_1286441317.jpg",
    "id": "13096",
    "last_name": "Tiddy"
}]}


すでにアクセスコードがある場合は、次のように行うこともできますhttps : //api.instagram.com/v1/users/search?q=USERNAME&access_token=ACCESS_TOKEN


3
悲しいことに; users / searchを使用すると、これに欠陥があります:(このURLを更新すると、ユーザー名が検索したユーザー名で始まる他のユーザーをランダムに取得できることがわかりました。たとえば、「fred1」を検索しているが、また、「fred123」では、ランダムな結果が得られます!Instagramに報告されます;応答を待っています:(
Danny Tuppeny

2
これは欠陥ではなく、実際には機能です。これは検索 APIであり、Instagramアプリの検索ボックスのように機能します。ユーザー名のユーザーIDを取得する適切な方法は、この検索エンドポイントにクエリを実行し、返されたオブジェクトを反復処理して、ユーザー名が完全に一致するかどうかを確認することです。
John Dorian

1
どちらも賛成ですが、API開発者はこれを回避するためにユーザー検索エンドポイントを作成することに同意してください。検索のみを提供するのは本当に面倒です
2016


2

APIのドキュメントページにはリストされていませんが、エンドポイントの代わりに使用できることを述べ、現在認証されているユーザーの情報を返すスレッドを見つけました。selfuser-idusers/{user-id}

したがって、users/selfへの明示的な呼び出しと同じusers/{some-user-id}であり、ペイロードの一部としてユーザーのIDを含みます。認証されたら、次のようにを呼び出すだけusers/selfで、結果に現在認証されているユーザーのIDが含まれます。

{
    "data": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg",
        "bio": "This is my bio",
        "website": "http://snoopdogg.com",
        "counts": {
            "media": 1320,
            "follows": 420,
            "followed_by": 3410
        }
}

2

暗黙的な認証を使用している場合、認証を見つけることができないという問題があるはずです。 user_id

私は例えば方法を見つけました:

Access Token = 1506417331.18b98f6.8a00c0d293624ded801d5c723a25d3ec the User id is 1506417331

で区切られた分割シングルを実行しますか?トークンと最初の要素にアクセスするための義務


2

私は、最も簡単で安全な方法は、ブラウザでInstagramプロファイル開いてソースコード表示し、メインのJavaScriptコード内でユーザー変数(ctrl + f "user":{")を探すことだと思います。ユーザー変数内のID番号はあなたのIDになります。

これは、この回答を書いている時点でのコードです(将来変更される可能性があり、おそらく変更される予定です)。

"user":{"username":"...","profile_picture":"...","id":"..........","full_name":"..."}},

2

ユーザー名からユーザーIDを取得する方法は次のとおりです。

$url = "https://api.instagram.com/v1/users/search?q=[username]&access_token=[your_token]";
$obj = json_decode(@file_get_contents($url));
echo $obj->data[0]->id;

2

Instagram APIを使用してこれを行うことができます(ユーザーエンドポイント:/ users / search)

PHPの使い方:

function Request($url) {

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_HEADER, 0);  

    $result = curl_exec($ch);

    curl_close($ch);

    return $result;

}

function GetUserID($username, $access_token) {

    $url = "https://api.instagram.com/v1/users/search?q=" . $username . "&access_token=" . $access_token;

    if($result = json_decode(Request($url), true)) {

        return $result['data'][0]['id'];

    }

}

// example:
echo GetUserID('rathienth', $access_token);

3
悲しいことに; users / searchを使用すると、これに欠陥があります:(このURLを更新すると、ユーザー名が検索したユーザー名で始まる他のユーザーをランダムに取得できることがわかりました。たとえば、「fred1」を検索しているが、また、「fred123」では、ランダムな結果が得られます!Instagramに報告されます;応答を待っています:(
Danny Tuppeny

2

これは私にとってうまくいく本当に簡単なウェブサイトです:

http://www.instaid.co.uk/

または、次のようにして、「username」をInstagramのユーザー名に置き換えます

https://www.instagram.com/username/?__a=1

または、Instagramアカウントにログインし、Google開発ツールを使用して、保存されているCookieを確認することもできます。'ds_user_id'はユーザーIDです

ここに画像の説明を入力してください


このリンクで質問に答えることができますが、回答の重要な部分をここに含め、参照用のリンクを提供することをお勧めします。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。- レビューから
バグ

@バグより詳細な回答を追加しました。私は単にstackoverflowコミュニティに貢献しようとしています。
BenEgan1991 2017年

1
https://api.instagram.com/v1/users/search?q="[USERNAME]"&access_token=[ACCESS TOKEN]

引用符に注意してください。

これは常に有効な結果を返すわけではありませんが、引用されていない結果よりも頻繁に返します。

https://api.instagram.com/v1/users/search?q="self"&count=1&access_token=[ACCESS TOKEN] 

ユーザー「self」を返します(ID:311176867)

https://api.instagram.com/v1/users/search?q=self&count=1&access_token=[ACCESS TOKEN]

ユーザー「super_selfie」を返します(ID:1422944651)


1

作業ソリューション〜2018

アクセストークンがあれば、ブラウザで次のリクエストを実行できることがわかりました。

https://api.instagram.com/v1/users/self?access_token=[VALUE]

実際、アクセストークンにはユーザーID(トークンの最初のセグメント)が含まれています

<user-id>.1677aaa.aaa042540a2345d29d11110545e2499

Pixel Unionが提供するこのツールを使用して、アクセストークンを取得できます。


0

まずInstagramでアプリケーションを作成し、アプリケーションのクライアントIDを取得します

http://instagram.com/developer/

次に、ユーザー名とクライアントIDを置き換えることにより、次のURLをブラウザウィンドウにコピーして貼り付けます https://api.instagram.com/v1/users/search?q=[Your-username]&client_id=[Your-Client-Id]

アカウントに関する一般情報と数値ユーザーIDを含むJson結果を取得します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.