2017-07-31 6 views
2

Instagram APIを使用していましたが、問題の原因となっているURLがあります。これまでのところ、私はそうのようなURLからショートを引っ張ってきた:https://www.instagram.com/p/BU89NChA8Cz/ようなURLからBU89NChA8Czのように見えますこのURLからInstagramショートコードを入手する方法

const instagramRegex = /https:\/\/www.instagram.com\/p\/([\w-]+)\/?/g; 
let shortcode = instaRegex.exec(url)[1]; 

これは期待通りにショートを返し、何かを。問題は今、次のurlがhtmlを返し、期待どおりのjsonレスポンスではないということです。また、ショートコードではありません。

問題のURL:https://www.instagram.com/p/BTC-qwADp7WmlJ06W_Z_B59Bxbpml31t_fb-3U0/

期待通りの正規表現は、まだ「ショート」を返します、BTC-qwADp7WmlJ06W_Z_B59Bxbpml31t_fb-3U0を、それが「ページが見つかりません」HTMLドキュメントであるとして、これは私が欲しいものではありませんAPI応答ではありません。

は、私はまた、「_」に、分割をこの大きなコードのバリエーションを試してみましたが、これらのリターン「無効なメディアID」

のそれぞれは、私が間違って何をしているのですか?

+0

これは無効なリンクであるにログインしている場合

は通常、そのURLが動作します。なぜ何か役に立つものがあると思うのですか? – user2357112

+0

無効ではありません。ブラウザーでURLを開くとイメージページが表示されるので、通常の有用なデータが返されると思います。それについて何が無効ですか? – jmcgui05

+0

ブラウザでURLを開くと、「申し訳ありません。このページは利用できません」と表示されます。 – user2357112

答えて

2

これはプライベートプロファイルからのURLなので、表示できません。ショートがあれば、プライベートでInstagramのユーザーからのものであることである場合は、そのユーザーが許可されていて、あなたがinstagram.com

+0

ありがとうございますkrisrak。 Instagramからこれを詳述した公式文書を見つけることができましたか?多くのクライアントが突然プライベートになってしまったのを見ていないので、この問題を回避するためにこれをさらに読むことができるようにしたいと考えています。 – jmcgui05

+1

私はちょうど経験から知っている、あなたのフィードのプライベートユーザーの画像リンクを見れば、長い短いコードを持ち、ログアウトしていると開くことができません。 – krisrak

+0

ここには奇妙な部分があります。 Web経由で自分のInstagramアカウントにアクセスすると、投稿のプライバシーステータスを設定することはできません。ただし、Androidアプリからアクセスすると、自分のアカウントをPublicに設定することができます。問題は解決されないため、プライベートな投稿の問題として考えることができますか? – jmcgui05

関連する問題