我想知道是否有办法检查用户验证徽章是否带有Instagram API?
我已经看到https://api.instagram.com/v1/users/ {user-id}在用户验证后没有返回,但如果您查看用户页面的源代码,则可以看到它有一个布尔值在用户的json结构中调用isVerified key及其值。
谢谢!
答案 0 :(得分:6)
好的,这不是一个很好的答案,但这是我完成同样任务的方式。一旦我拥有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值。直到他们这样做我才使用这个正则表达式。它查找&#34; isVerified&#34;:您引用的JSON结构的真实部分。 (例如:https://instagram.com/taylorswift)
我们还添加了一个额外的检查,如果元内容标记具有&#34;官方帐户&#34;在其中,我们假设它是正式的。 (示例:https://instagram.com/3doorsdown)我们添加了此支票,因为Instagram在2014年开始使用经过验证的帐户,而且还有不少名人尚未获得经过验证的徽章。它应该拿起一些碎片,但也可能带来误报。
注意:如果Instagram更改其页面上的JSON结构或元标记,此解决方案将会中断,因此使用风险自负。我们只需要一个脚本来检查验证徽章的少量用户名,我想出了这个真正的快速。最好的解决方案是每当他们更新API时。