({ uid, progressCallback, limit = 0 })
| 28 | |
| 29 | // WARNING: not working anymore?? |
| 30 | export async function getAllMedia({ uid, progressCallback, limit = 0 }) { |
| 31 | let all_urls = []; |
| 32 | let after = ""; |
| 33 | while (true) { |
| 34 | let data = await fetch( |
| 35 | `https://www.instagram.com/graphql/query/?query_hash=396983faee97f4b49ccbe105b4daf7a0&variables={"id":"${uid}","first":50,"after":"${after}"}` |
| 36 | ); |
| 37 | let json = await data.json(); |
| 38 | console.log(json); |
| 39 | let edges = json?.data?.user?.edge_owner_to_timeline_media?.edges || []; |
| 40 | |
| 41 | let urls = []; |
| 42 | edges.forEach((e) => { |
| 43 | let childs = e.node?.edge_sidecar_to_children?.edges; |
| 44 | if (childs) { |
| 45 | urls.push(...childs.map((c) => getBiggestMediaFromNode(c.node))); |
| 46 | } else { |
| 47 | urls.push(getBiggestMediaFromNode(e.node)); |
| 48 | } |
| 49 | }); |
| 50 | all_urls.push(...urls); |
| 51 | progressCallback?.({ |
| 52 | current: all_urls.length, |
| 53 | data: all_urls, |
| 54 | }); |
| 55 | |
| 56 | let pageInfo = json?.data?.user?.edge_owner_to_timeline_media?.page_info; |
| 57 | if (!pageInfo?.has_next_page || (limit > 0 && all_urls.length >= limit)) |
| 58 | break; |
| 59 | after = pageInfo?.end_cursor; |
| 60 | } |
| 61 | |
| 62 | return all_urls; |
| 63 | } |
| 64 | export async function getInstaUserInfo(username) { |
| 65 | let res = await fetch( |
| 66 | "https://www.instagram.com/web/search/topsearch/?query=" + username |
no test coverage detected