ठीक है, यह एक अच्छा जवाब नहीं है, लेकिन यहां मैंने यह कार्य पूरा किया है। एक बार मैं एपीआई से एक उपयोगकर्ता नाम है मैं उनके प्रोफाइल पेज के स्रोत पर निम्नलिखित regex कार्य करें:
$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 मूल्य प्रदान नहीं करता है। जब तक वे ऐसा नहीं करते हैं, मैं इस नियमित अभिव्यक्ति का उपयोग कर रहा हूं। यह "isVerified" की तलाश में है: आपके द्वारा संदर्भित JSON संरचना का सही हिस्सा। (उदाहरण: https://instagram.com/taylorswift)
हमने अतिरिक्त चेक भी जोड़ा, जहां मेटा सामग्री टैग में "आधिकारिक खाता" है, तो हम इसे आधिकारिक मानते हैं। (उदाहरण: https://instagram.com/3doorsdown) हमने इस चेक को जोड़ा क्योंकि इंस्टाग्राम ने 2014 में सत्यापित खातों को करना शुरू कर दिया था और वहां कुछ हस्तियां हैं जिन्हें अभी तक सत्यापित बैज नहीं मिला है। इसे कुछ टुकड़ों को चुनना चाहिए लेकिन झूठी सकारात्मक भी ला सकते हैं।
नोट: यदि Instagram कभी भी अपने पृष्ठों पर JSON संरचना या मेटा टैग को बदलता है तो यह समाधान टूट जाएगा, इसलिए अपने जोखिम पर उपयोग करें। हमें केवल सत्यापित बैज के लिए उपयोगकर्ता नामों की एक छोटी राशि की जांच करने के लिए एक स्क्रिप्ट की आवश्यकता थी और मैं इस वास्तविक त्वरित के साथ आया था। जब भी वे अपना एपीआई अपडेट करेंगे तो सबसे अच्छा समाधान होगा।
स्रोत
2015-05-06 16:52:51