【问题标题】:Instagram API: Can i check if user is verified?Instagram API:我可以检查用户是否已通过验证?
【发布时间】:2015-02-02 18:38:37
【问题描述】:

我想知道是否有任何方法可以使用 Instagram API 检查用户验证徽章?

我看到https://api.instagram.com/v1/users/{user-id} 如果用户通过验证不会返回,但是如果你查看用户页面的源代码,你可以看到它有一个名为 isVerified 键的布尔值和它是用户的 json 结构中的值。

谢谢!

【问题讨论】:

    标签: instagram-api


    【解决方案1】:

    好的,这不是一个很好的答案,但这是我完成相同任务的方法。一旦我从 API 获得用户名,我就会在他们的个人资料页面的来源上执行以下正则表达式:

    $response = file_get_contents('https://instagram.com/'.$username);
    if (preg_match('/"user":\{"username":"'.$username.'",.*?"isVerified":true\},"__path":".*?'.$username.'.*?"/s', $response) || preg_match('/<meta content=".*?official.*?account.*?" name="description" \/>/is', $response)) {
        print "VERIFIED USER!";
    }
    

    正如我之前所说的那样,这非常 hacky,但 API 目前不提供 isVerified 值。在他们这样做之前,我正在使用这个正则表达式。它查找您引用的 JSON 结构的 "isVerified":true 部分。 (例如:https://instagram.com/taylorswift

    我们还添加了一个额外的检查,如果元内容标签中包含“官方帐户”,那么我们认为它是官方的。 (例如:https://instagram.com/3doorsdown)我们添加此检查是因为 Instagram 于 2014 年开始进行验证帐户,并且有相当多的名人尚未获得验证徽章。它应该会拾起一些碎片,但也很可能会带来误报。

    注意:如果 Instagram 更改其页面上的 JSON 结构或元标记,此解决方案将失效,因此使用风险自负。我们只需要一个脚本来检查少量用户名以获取经过验证的徽章,我很快就想出了这个。最好的解决方案是在他们更新 API 时。

    【讨论】:

    • 这个答案发布已经 6 年多了,我们可以得到更新的答案吗?
    • @SebastianG 你有没有发现是否有更好的方法来做到这一点?
    • 很遗憾,我们还没有达到那种发展状态,所以我已经停止调查
    猜你喜欢
    • 2022-09-29
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多