我已经使用Instagram API一段时间了,但我看到一个导致我出现问题的网址。到目前为止,我一直在从这样的网址中提取短代码:
const instagramRegex = /https:\/\/www.instagram.com\/p\/([\w-]+)\/?/g;
let shortcode = instaRegex.exec(url)[1];
这会返回预期的短代码,类似于https://www.instagram.com/p/BU89NChA8Cz/等网址中的BU89NChA8Cz。现在的问题是,以下url返回html,而不是预期的json响应。它也不太可能是短代码。
问题网址: https://www.instagram.com/p/BTC-qwADp7WmlJ06W_Z_B59Bxbpml31t_fb-3U0/
正则表达式仍然按预期返回“短代码”:BTC-qwADp7WmlJ06W_Z_B59Bxbpml31t_fb-3U0,但这不是我想要的,因为它是“找不到页面”的HTML文档,而不是api响应。
我也尝试了这个更大的代码的变体,拆分为“_”,但每个都返回“无效的媒体ID”
我做错了什么?
答案 0 :(得分:2)
这是来自私人资料的网址,因此您无法查看。
通常,如果短代码来自私有的Instagram用户,那么如果该用户允许您登录到instagram.com,则该URL将起作用