अक्सर हम एक कार्रवाई को स्वचालित करना चाहते हैं। कभी-कभी भीड़ या सिर्फ आलस्य हमें सभी दस्तावेज (एपीआई एपीआई वीके) से परिचित होने का अवसर नहीं देता है।
ऐसा लगता है कि वीके एपीआई के साथ काम करने के लिए एक कार्यक्रम विकसित करना आसान है। कोई भी भाषा जो http को अनुरोध भेज सकती है (तदनुसार प्रतिक्रिया प्राप्त करें) करेगी। उदाहरण के लिए: डेल्फी, शेल, सी, पर्ल, पीएचपी, पायथन, आदि।

इसलिए, हम प्रोग्राम बनाने और VKontakte के साथ एकीकरण के लिए एल्गोरिथ्म का विश्लेषण करेंगे।
पहली चीज जो हमें करने की ज़रूरत है वह एक डेस्कटॉप एप्लिकेशन बनाना (रजिस्टर करना) है।
"डेवलपर्स" अनुभाग में "
साइट कनेक्ट करें " बटन पर क्लिक करें
नाम दर्ज करें और प्रकार चुनें - स्टैंडअलोन एप्लिकेशन।

उसके बाद, आपके मोबाइल फोन पर एक कोड भेजा जाएगा (एक खाते से जुड़ा हुआ), जिसे सत्यापन क्षेत्र में दर्ज किया जाना चाहिए।
एक एप्लिकेशन बनाया जा रहा है, सेटिंग्स में हमें एप्लिकेशन आईडी की आवश्यकता है।

VKontakte से आवेदन का प्राधिकरण OAuth 2.0 प्रोटोकॉल के आधार पर होता है और इसमें 3 चरण होते हैं:
- Vkontakte वेबसाइट पर उपयोगकर्ता प्रमाणीकरण के लिए एक ब्राउज़र विंडो खोलना।
- उपयोगकर्ता अनुरोधित अधिकारों के लिए एप्लिकेशन एक्सेस की अनुमति देता है।
- Vkontakte API तक पहुंच के लिए एक एप्लिकेशन access_token देता है।
_http://api.vk.com/oauth/authorize?client_id=##ID##&redirect_uri=http://api.vk.com/blank.html&scope=####&display=#### &response_type=token
कहां:
## आईडी ## - पहले प्राप्त आपके आवेदन की आईडी;
## प्रदर्शन ## - प्राधिकरण विंडो की उपस्थिति (पृष्ठ, पॉपअप, स्पर्श और वैप)।
## अधिकार ## - उपयोगकर्ता डेटा के लिए आवेदन अनुमतियों की सूची। उन्हें अल्पविराम (सूचित, मित्र, फ़ोटो, ऑडियो, वीडियो, डॉक्स, नोट्स, पृष्ठ, दीवार, समूह, संदेश, विज्ञापन) या डिजिटल रूप से इंगित किया जाता है, आवश्यक अधिकारों का सारांश (1,2,4,8,16,32,64) , ..., 262144)।
उदाहरण: मित्रों को एक्सेस करने और उपयोगकर्ता की तस्वीरों तक पहुंचने के अधिकार प्राप्त करें:
2 + 4 = 6; गुंजाइश = 1026 या गुंजाइश = दोस्त, तस्वीरें
एक्सेस अधिकारों के बारे में
यहाँ और
यहाँ पढ़ें।

अनुरोध के जवाब में, सर्वर वापस आ जाएगा:
access_token=93f22a20ddf1174f939108d43e936cd6bb193469344639c2d1c268f3f65fa86 &expires_in=86400&user_id=11347652
, जहां access_token वह पैरामीटर है जिसे हमें Vkontakte API को बाद के अनुरोध भेजने की आवश्यकता है;
expires_in - टोकन आजीवन, समाप्ति के बाद इसे अपडेट करना आवश्यक है
(
UPD: यदि अधिकार "ऑफ़लाइन" या 999999 निर्दिष्ट करते हैं, तो टोकन अनंत होगा);
user_id - उपयोगकर्ता आईडी।
संचार
कार्यक्रम-अनुप्रयोग-उपयोगकर्ता स्थापित। अब हम आपी को (उपयोगकर्ता द्वारा अनुमति के अनुसार) कोई भी अनुरोध भेज सकते हैं।
क्वेरी सिंटैक्स:
_https://api.vkontakte.ru/method/####?##_##=##_## &access_token=##,_##
विधियों की सूची और उनका विवरण
यहां और
यहां पाया जा सकता
है ।
उदाहरण के लिए, एक निजी संदेश भेजने की विधि पर विचार करें
विधि का नाम:
संदेश। भेजें
आवश्यक कानून:
4096पैरामीटर्स:
यूआईडी - यूजर की आईडी जिसे संदेश भेजा जाता है, की आवश्यकता होती है।
संदेश - अनुलग्नक निर्दिष्ट नहीं होने पर संदेश का पाठ आवश्यक है।
अनुलग्नक - संदेश को अनुलग्नक, प्रारूप में अल्पविराम द्वारा अलग किया गया
<><>_<id>
(उदाहरण: photo100172_166443618)।
शीर्षक - शीर्षक।
टाइप - 0 (डिफ़ॉल्ट) - सामान्य, 1 - चैट से।
उपयोगकर्ता id66392446 पर एक संदेश भेजने के अनुरोध का एक उदाहरण:
_https://api.vkontakte.ru/method/messages.send?uid=66392446&message=&title=&access_token= 93f22a20ddf1174f939108d43e936cd6bb193469344639c2d1c268f3f65fa86
जवाब में, हमें संदेश आईडी या त्रुटि कोड मिलता है।
{"response":10847}
एक कार्यक्रम के एक उदाहरण के रूप में, मैं स्वचालित रूप से Vkontakte स्थिति को अपडेट करने के लिए अपनी php स्क्रिप्ट उद्धृत करता हूं
(नए साल तक ... दिनों + फ़ाइल से यादृच्छिक वाक्यांश)।
एक php फ़ाइल बनाएँ जो स्थिति भेजेगा:
pub.php
<?php
$token='93f22a20ddf1174f939108d43e936cd6bb193469344639c2d1c268f3f65fa86';
// ,
$day = '15';
$month = '11';
//,
$year = '2011';
function dateDiff($startDay, $endDay) {
$endDay = strtotime($endDay);
$startDay= strtotime($startDay);
$difference = abs($endDay - $startDay);
$return['days'] = floor($difference / 86400);
$return['hours'] = floor($difference / 3600) % 24;
$return['minutes'] = floor($difference / 60) % 60;
return $return;
}
$date=dateDiff(date("jnY G:i"),'19-11-2011 9:00');
$phrases = "/var/www/public/1.txt";//
$z = file ($phrases);
$cz = count ($z) -1;
$r = rand (0, $cz);
//
$text=" $date[days] , $date[hours] .$z[$r]";
$sRequest = "https://api.vkontakte.ru/method/status.set?text=$text&access_token=$token";
echo $text;
//
$oResponce = json_decode(file_get_contents($sRequest));
अब हम pub.php को अद्यतन करने के साथ क्रॉन में जोड़ते हैं, एक मिनट से अधिक नहीं, और हम परिणाम का निरीक्षण करते हैं।


इस तरह, आप स्वचालित रूप से लेख, फोटो, वीडियो प्रकाशित कर सकते हैं, संदेश भेज सकते हैं और कई अन्य दिलचस्प चीजें कर सकते हैं।
प्रयोग!
आपका ध्यान देने के लिए धन्यवाद ।
UPD: भेजने से पहले, टेक्स्ट स्ट्रिंग को
$text=urlencode($text);
एनकोड किया जाना चाहिए
$text=urlencode($text);