Instagram API - How can I retrieve the list of people a user is following on Instagram

后端 未结 7 1668
你的背包
你的背包 2020-12-01 01:07

I would like to know how I can retrieve the list of people a user is following on Instagram. This is given that this particular user is someone that I follow. So I have acce

7条回答
  •  Happy的楠姐
    2020-12-01 01:50

    I made my own way based on Caitlin Morris's answer for fetching all folowers and followings on Instagram. Just copy this code, paste in browser console and wait for a few seconds.

    You need to use browser console from instagram.com tab to make it works.

    let username = 'USERNAME'
    let followers = [], followings = []
    try {
      let res = await fetch(`https://www.instagram.com/${username}/?__a=1`)
    
      res = await res.json()
      let userId = res.graphql.user.id
    
      let after = null, has_next = true
      while (has_next) {
        await fetch(`https://www.instagram.com/graphql/query/?query_hash=c76146de99bb02f6415203be841dd25a&variables=` + encodeURIComponent(JSON.stringify({
          id: userId,
          include_reel: true,
          fetch_mutual: true,
          first: 50,
          after: after
        }))).then(res => res.json()).then(res => {
          has_next = res.data.user.edge_followed_by.page_info.has_next_page
          after = res.data.user.edge_followed_by.page_info.end_cursor
          followers = followers.concat(res.data.user.edge_followed_by.edges.map(({node}) => {
            return {
              username: node.username,
              full_name: node.full_name
            }
          }))
        })
      }
      console.log('Followers', followers)
    
      has_next = true
      after = null
      while (has_next) {
        await fetch(`https://www.instagram.com/graphql/query/?query_hash=d04b0a864b4b54837c0d870b0e77e076&variables=` + encodeURIComponent(JSON.stringify({
          id: userId,
          include_reel: true,
          fetch_mutual: true,
          first: 50,
          after: after
        }))).then(res => res.json()).then(res => {
          has_next = res.data.user.edge_follow.page_info.has_next_page
          after = res.data.user.edge_follow.page_info.end_cursor
          followings = followings.concat(res.data.user.edge_follow.edges.map(({node}) => {
            return {
              username: node.username,
              full_name: node.full_name
            }
          }))
        })
      }
      console.log('Followings', followings)
    } catch (err) {
      console.log('Invalid username')
    }
    

提交回复
热议问题