如何以编程方式从 Instagram 接收数据 android

How to receive data from Instagram programmatically android

提问人:Abdullah Omer 提问时间:1/29/2022 最后编辑:Abdullah Omer 更新时间:4/16/2022 访问量:1115

问:

通过参考像这样的现有博客,我知道它可以作为扩展添加到链接中,然后它将返回一个 jsonObject,当然可以,但仅限于浏览器。?__a=1

我试过了这个(Kotlin)

        Thread {
            var link = "https://www.instagram.com/reel/CZBE3OIJ4vB/?__a=1"
            Log.d(tag, "Requesting URL: $link")
            val reader =
                BufferedReader(InputStreamReader(URL(link).openStream(), "UTF-8"))
            var sResponse: String?
            var s = StringBuilder()

            while (reader.readLine().also { sResponse = it } != null) {
                s = s.append(sResponse)
            }
            Log.d(tag, "Returned Data  :${s.toString()}")
        }.start()

但它又回来了<!DOCTYPE html>

<!DOCTYPE html><html lang="en" class="no-js not-logged-in client-root touch">
<head>
<meta charset="utf-8">...

我应该怎么做才能像收到的浏览器一样接收 jsonObject

Android android-studio 网址 instagram html 解析

评论


答:

-1赞 Andrea Damiano 4/16/2022 #1

使用 url 末尾的 /?__a=1 可以获取用户的 JSON。不幸的是,这不能经常使用,因为 Instagram 能够知道。当您的 IP 地址进入 Instagram 黑名单时,您将无法获得 JSON。 当您的 IP 地址在黑名单中时,您会立即注意到,因为该 url 会回复与 Instagram 登录页面相对应的 html 页面。 有 2 种方法可以解决此问题: -1 使用Instagram API; -2 每次更改发出请求的机器的IP地址;

我希望这会有所帮助。

评论

0赞 Community 4/16/2022
您的答案可以通过其他支持信息进行改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。
0赞 nasser 8/29/2022
感谢您的回复,我将如何使用 Instagram api 你能帮我吗?
0赞 Andrea Damiano 9/3/2022
要使用 instagram api,您必须在 Facebook 开发者控制台上添加您的应用程序。然后选择您需要的 instagram api。图形或基本显示。第一个请求是令牌。令牌的有效期为 1 小时,在下一次令牌请求中,您可以将 tokek 持续时间延长约 60 天。