6

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

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

谢谢!

4

1 回答 1

7

好的,这不是一个很好的答案,但这是我完成相同任务的方式。一旦我从 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 时。

于 2015-05-06T16:52:51.103 回答