VKontakte वर iframe अनुप्रयोग कसा तयार करायचा. आम्ही सामान्य सदस्य आणि मित्रांना पाहण्यासाठी एक साधा iframe ऍप्लिकेशन लिहित आहोत, ज्यामध्ये ऍप्लिकेशन डिरेक्टरीमध्ये जाण्यासाठी पुरेशी कार्यक्षमता आहे.

नोकिया 08.05.2019
नोकिया

आम्ही जूमला स्थापित करतो - सर्व काही अगदी पारदर्शक आणि समजण्यासारखे आहे.

स्टेज 3: JS API आणि "API संपर्कात"

आमच्या शस्त्रागारात काय आहे: एक नवीन VKontakte अनुप्रयोग आणि काही मानक Joomla टेम्पलेटवर नवीन तयार केलेली वेबसाइट.

येथे मी संपर्कातील API कडे आपले लक्ष त्वरित आकर्षित करू इच्छितो!

API चे 2 प्रकार आहेत:

  • Javascript API
  • संपर्कात API
  • प्रथम वापरून, आपण विविध डायलॉग बॉक्सेस कॉल करू शकता (मित्रांना अनुप्रयोगात आमंत्रित करणे, मते जोडणे, वापरकर्ता डेटामध्ये प्रवेश सेट करणे इ. या पद्धतींचे तपशीलवार वर्णन आढळू शकते.

    दुसऱ्याच्या शक्यता खूप जास्त आहेत! www.vkontakte.ru/api.php स्क्रिप्टमध्ये कोणत्याही सोयीस्कर पद्धतीने प्रवेश केला जाऊ शकतो, मग ती AJAX विनंती असो किंवा थेट सर्व्हरवरून HTTP विनंती. सर्व API पद्धतींचे वर्णन आहे.

    आता एपीआय सुरू करण्याबद्दल आणि त्यांच्यासोबत काम करण्याबद्दल अधिक जाणून घेऊ. चला क्रमाने सुरुवात करूया:

    आमच्या टेम्प्लेटमध्ये खालील JavaScript जोडून JS API सुरू केले आहे:

    Src=http://vkontakte.ru/js/api/xd_connection.js?2

    VK.init(फंक्शन() (

    // तुमचा कोड येथे
    });

    मी ताबडतोब लक्षात घेऊ इच्छितो की “एपीआय इनिशिएलायझेशन यशस्वी झाले” ही ओळ येथे एका कारणासाठी लिहिली गेली होती आणि याचा अर्थ असा की जेव्हा API कार्य करण्यास तयार असेल तेव्हा VK.init फंक्शन कार्यान्वित केले जाईल! परंतु आपले वेब संसाधन नाही. अंमलबजावणीसाठी तुमच्या js कोडची तयारी तपासण्यासाठी, तुम्ही तुमची आवडती js लायब्ररी किंवा फ्रेमवर्क वापरू शकता. व्यक्तिशः, मी Mootools पसंत करतो - तेच मी वापरले.

    माझा आरंभ कोड यासारखा दिसतो:

    VK.init(फंक्शन() (
    // API आरंभ करणे यशस्वी झाले
    window.addEvent("domready", function())(
    //DOM तयार
    })
    });

    आता आपण काय करू शकतो? आणि आता आम्ही API वापरू शकतो, म्हणजे, उदाहरणार्थ, वापरकर्त्याने त्याच्या डेटामध्ये प्रवेश करण्यासाठी अनुप्रयोगासाठी आवश्यक पॅरामीटर्स निवडले आहेत की नाही ते तपासा. उदाहरणार्थ यासारखे:

    VK.api("getUserSettings", फंक्शन(डेटा)(
    जर (data.response)(
    जर (!(256 आणि data.response))
    VK.callMethod("showSettingsBox", 263);
    }
    जर (data.error)(
    सूचना ("त्रुटी कोड:"+data.error.error);
    }
    });

    हे करण्यासाठी, आम्ही प्रथम getUserSettings फंक्शनला कॉल करतो, जे आम्हाला वर्तमान वापरकर्त्याच्या सेटिंग्जचा बिटमास्क देईल. कॉल VK.api पद्धत वापरून केला जातो, जेथे पहिले पॅरामीटर फंक्शनचे नाव असते आणि दुसरे कॉलबॅक फंक्शन असते. डेटा व्हेरिएबल हा getUserSettings फंक्शनचा परिणाम आहे, जर डेटा.एरर परत आला असेल तर त्रुटी तपासणे आवश्यक आहे; त्रुटी दोन (माझ्या मते) कारणांमुळे असू शकते: साइट प्रशासनाद्वारे अर्ज मंजूर केलेला नाही (मंजुरीपूर्वी, माझ्यासाठी फक्त getProfiles काम करत होते, तसे, मला नंतर फोरमवर पोस्ट आढळल्या की सर्व काही चाचणी मोडमध्ये कार्य करते. ). जर फंक्शनने data.response परत केला, तर आम्ही कार्य करणे सुरू ठेवतो, सध्याचे अधिकार आणि आवश्यक असलेले बिट मास्क तपासू आणि JS API showSettingsBox फंक्शनला सिंगल पॅरामीटरसह कॉल करू (आवश्यक अधिकारांचा मुखवटा, माझ्याकडे 263 आहे - हा प्रवेश आहे. फोटो, मित्र आणि डाव्या वापरकर्ता मेनूमधील अनुप्रयोगाची लिंक)

    माझ्या मते, JS API वापरून “API in Contact” पद्धतींना कॉल करणे चांगले नाही. हे साध्या कार्यांसाठी सोयीचे आहे. JS वर तयार केलेला पूर्णपणे Iframe ऍप्लिकेशन खूप श्रम-केंद्रित आहे. आणि म्हणून आम्ही API वरील HTTP विनंत्यांचा अभ्यास करण्यासाठी पुढे जाऊ.

    स्टेज 4: PHP आणि “API संपर्कात”

    यासाठी आमच्याकडे जूमला आणि एक क्लास आहे जो आम्ही लिंकवरून घेतो

    PHP द्वारे API सह कार्य करण्यासाठी, आपल्याला प्रत्येक विनंतीमध्ये आपल्या अनुप्रयोगाचा api_id समाविष्ट असेल (जेव्हा आपण अनुप्रयोगाच्या लिंकचे अनुसरण करता तेव्हा ते थेट ॲड्रेस बारमध्ये पाहिले जाऊ शकते) आणि एक गुप्त की - ती अनुप्रयोग तयार करताना जारी केला जातो (तो लांब आहे आणि अनुप्रयोग सेटिंग्जमध्ये बदलला जाऊ शकतो)

    PHP वापरून API ला कॉल करणे असे दिसते:

    फोरच ($this->आयटम म्हणून $item)(
    $uids = $item-> आयटम;
    }
    $api = नवीन vkapi();
    $ans = $api->api("getProfiles", array("uids" => implode(", $uids), "fields" => "photo, photo_big"));

    पहिला फोरच माझ्या ऍप्लिकेशनमधून सर्व नोंदणीकृत वापरकर्ते घेतो (परंतु 1000 पेक्षा जास्त नाही) आणि नंतर या वापरकर्त्यांबद्दल डेटा लोड करण्यासाठी “API in Contact” ला विनंती केली जाते. आउटपुट हे मूल्यांचे ॲरे आहे जसे की: $ans["response"][$i]["field"], जिथे प्रतिसाद वापरकर्त्यांबद्दल डेटाचा ॲरे आहे, नंतर $i घटक आणि शेवटी आवश्यक वापरकर्ता गुणधर्म फील्ड, उदाहरणार्थ नाव (नाव) किंवा फोटो.

    या पद्धतीचे फायदे:

    1. सुरक्षित API पद्धती उपलब्ध झाल्या आहेत, ज्या तुम्हाला शिल्लक शोधण्याची किंवा मते जोडणे/माघारायची असल्यास ती महत्त्वाची आहे.
    2. API सह कार्य करण्यासाठी JS कोडच्या "हजारो" ओळी लिहिण्याची गरज नाही
    3. आम्हाला एकाच वेळी सहज प्रशासित वेबसाइट आणि अर्ज मिळतात.

    मी जूमला मध्ये नेमके काय केले हे सांगण्यास बराच वेळ लागेल आणि त्याची गरज नाही, मी फक्त माझा अर्ज कसा कार्य करतो याचे अंदाजे तर्क देईन.

    सर्व जूमला घटक MVC पॅटर्नवर आधारित आहेत हे रहस्य नाही. जे सर्व काही शेल्फ् 'चे अव रुप वर ठेवते!

    घटकाचा नियंत्रक सर्व वापरकर्ता आदेश/विनंत्या स्वीकारतो (लिंक फॉलो करताना किंवा JS वापरून AJAX विनंत्या वापरताना वापरकर्त्याच्या क्रियांसाठीही)

    मॉडेल आमच्या घटकाच्या डेटाबेससह सर्व ऑपरेशन्ससाठी जबाबदार आहे, उदाहरणार्थ: ते मतदान स्वतः प्रदर्शित करते, ज्यांनी एखाद्या विशिष्ट मतदान सहभागीला मत दिले त्यांच्या याद्या, पडताळणी आणि पुनर्मतदानाला प्रतिसाद देतात आणि इतर अनेक सहाय्यक कार्ये.

    दृश्य विविध लेआउट्सचे आउटपुट आणि मॉडेलमधून डेटाचे हस्तांतरण नियंत्रित करते.

    जे जूमलासाठी घटक विकसित करत आहेत त्यांच्यासाठी सर्व काही अगदी स्पष्ट आहे.

    ॲप्लिकेशनमध्ये कुठेही vkapi.class.php क्लास वापरण्यापासून कोणीही रोखत नाही, मी ते फक्त आउटपुटसाठी डेटा तयार करण्यासाठी वापरले (उदाहरणार्थ, माझा ऍप्लिकेशन इन्स्टॉल केलेल्या संपर्कातील वापरकर्त्यांचा uid वापरणे, मी; फोटोंचे पत्ते लोड केले)

    स्टेज 5: विजेट्स

    प्रत्येकजण आधीच सोशल नेटवर्क्समधील विविध फॉर्म आणि बटणांच्या मोठ्या संख्येने नित्याचा आहे. मला माझ्या Iframe ऍप्लिकेशनमध्ये देखील एक हवा होता. टिप्पण्या विजेट कसे कनेक्ट करावे:

    कोणत्याही परिस्थितीत तुम्ही तुमच्या पेजवर खालील कोड जोडू नये:

    हे वेबसाइटसाठी योग्य आहे, परंतु Iframe अनुप्रयोगांसाठी योग्य नाही!

    तुम्हाला फक्त हे करायचे आहे:

    VK.Widgets.Comments("vk_comments", (मर्यादा: 10, रुंदी: "578", संलग्न करा: "*"));

    JS API आधीपासून विजेट्स जोडण्यासाठी कार्ये लागू करते.

    स्वतःच्या टिप्पण्यांबद्दल, आपल्याला माहित आहे की जेव्हा वापरकर्ता अनुप्रयोगासह पृष्ठावर टिप्पणी देतो तेव्हा ती त्याच्या भिंतीवर देखील प्रकाशित केली जाते, परंतु आपल्या वेबसाइटच्या दुव्यासह, अनुप्रयोगावर नाही! हे टाळण्यासाठी, तुम्हाला pageURL पॅरामीटर वापरण्याची आवश्यकता आहे, जो www.vkontakte.ru/app (app_id) फॉर्मेटमध्ये अर्जाचा पत्ता सूचित करेल.

    शेवटी मला हे मिळाले:

    VK.Widgets.Comments("vk_comments", (मर्यादा: 10, रुंदी: "578", संलग्न करा: "*", pageURL: "http://vkontakte.ru/app2176209"));

    स्टेज 6: निष्कर्ष

    परिणाम एक जटिल नाही, परंतु VKontakte मध्ये कार्यरत अनुप्रयोग आहे. जे VKontakte API आणि JS API सोबत आपल्या आवडत्या CMS वापरून नवीन आणि नवीन वैशिष्ट्ये आणि घटक जोडून सहजपणे विस्तारित आणि विकसित केले जाऊ शकतात.

    मला काय मिळाले ते येथे आहे.

    काही दिवसांपूर्वी, माझ्या एका मैत्रिणीने मला तिला ऑनलाइन मतदान तयार करण्यास मदत करण्यास सांगितले, कारण VKontakte मध्ये पुरेशी कार्यक्षमता नव्हती (आपण तेथे फक्त 15 लोकांसाठी मतदान तयार करू शकता). समस्या मनोरंजक असल्याचे बाहेर वळले. तर, चला कामाला लागा!

    ही पोस्ट कोणाला उपयुक्त वाटू शकते:

    आम्ही जूमला स्थापित करतो - सर्व काही अगदी पारदर्शक आणि समजण्यासारखे आहे.

    स्टेज 3: JS API आणि "API संपर्कात"

    आमच्या शस्त्रागारात काय आहे: एक नवीन VKontakte अनुप्रयोग आणि काही मानक Joomla टेम्पलेटवर नवीन तयार केलेली वेबसाइट.

    येथे मी संपर्कातील API कडे आपले लक्ष त्वरित आकर्षित करू इच्छितो!

    API चे 2 प्रकार आहेत:

  • Javascript API
  • संपर्कात API
  • प्रथम वापरून, आपण विविध डायलॉग बॉक्सेस कॉल करू शकता (मित्रांना अनुप्रयोगात आमंत्रित करणे, मते जोडणे, वापरकर्ता डेटामध्ये प्रवेश सेट करणे इ. या पद्धतींचे तपशीलवार वर्णन आढळू शकते.

    दुसऱ्याच्या शक्यता खूप जास्त आहेत! www.vkontakte.ru/api.php स्क्रिप्टमध्ये कोणत्याही सोयीस्कर पद्धतीने प्रवेश केला जाऊ शकतो, मग ती AJAX विनंती असो किंवा थेट सर्व्हरवरून HTTP विनंती. सर्व API पद्धतींचे वर्णन आहे.

    आता एपीआय सुरू करण्याबद्दल आणि त्यांच्यासोबत काम करण्याबद्दल अधिक जाणून घेऊ. चला क्रमाने सुरुवात करूया:

    आमच्या टेम्प्लेटमध्ये खालील JavaScript जोडून JS API सुरू केले आहे:

    src=http://vkontakte.ru/js/api/xd_connection.js?2

    VK.init(फंक्शन() (

    // तुमचा कोड येथे
    });

    मी ताबडतोब लक्षात घेऊ इच्छितो की “एपीआय इनिशिएलायझेशन यशस्वी झाले” ही ओळ येथे एका कारणासाठी लिहिली गेली होती आणि याचा अर्थ असा की जेव्हा API कार्य करण्यास तयार असेल तेव्हा VK.init फंक्शन कार्यान्वित केले जाईल! परंतु आपले वेब संसाधन नाही. अंमलबजावणीसाठी तुमच्या js कोडची तयारी तपासण्यासाठी, तुम्ही तुमची आवडती js लायब्ररी किंवा फ्रेमवर्क वापरू शकता. व्यक्तिशः, मी Mootools पसंत करतो - तेच मी वापरले.

    माझा आरंभ कोड यासारखा दिसतो:

    VK.init(फंक्शन() (
    // API आरंभ करणे यशस्वी झाले
    window.addEvent("domready", function())(
    //DOM तयार
    })
    });

    आता आपण काय करू शकतो? आणि आता आम्ही API वापरू शकतो, म्हणजे, उदाहरणार्थ, वापरकर्त्याने त्याच्या डेटामध्ये प्रवेश करण्यासाठी अनुप्रयोगासाठी आवश्यक पॅरामीटर्स निवडले आहेत की नाही ते तपासा. उदाहरणार्थ यासारखे:

    VK.api("getUserSettings", फंक्शन(डेटा)(
    जर (data.response)(
    जर (!(256 आणि data.response))
    VK.callMethod("showSettingsBox", 263);
    }
    जर (data.error)(
    सूचना ("त्रुटी कोड:"+data.error.error);
    }
    });

    हे करण्यासाठी, आम्ही प्रथम getUserSettings फंक्शनला कॉल करतो, जे आम्हाला वर्तमान वापरकर्त्याच्या सेटिंग्जचा बिटमास्क देईल. कॉल VK.api पद्धत वापरून केला जातो, जेथे पहिले पॅरामीटर फंक्शनचे नाव असते आणि दुसरे कॉलबॅक फंक्शन असते. डेटा व्हेरिएबल हा getUserSettings फंक्शनचा परिणाम आहे, जर डेटा.एरर परत आला असेल तर त्रुटी तपासणे आवश्यक आहे; त्रुटी दोन (माझ्या मते) कारणांमुळे असू शकते: साइट प्रशासनाद्वारे अर्ज मंजूर केलेला नाही (मंजुरीपूर्वी, माझ्यासाठी फक्त getProfiles काम करत होते, तसे, मला नंतर फोरमवर पोस्ट आढळल्या की सर्व काही चाचणी मोडमध्ये कार्य करते. ). जर फंक्शनने data.response परत केला, तर आम्ही कार्य करणे सुरू ठेवतो, सध्याचे अधिकार आणि आवश्यक असलेले बिट मास्क तपासू आणि JS API showSettingsBox फंक्शनला सिंगल पॅरामीटरसह कॉल करू (आवश्यक अधिकारांचा मुखवटा, माझ्याकडे 263 आहे - हा प्रवेश आहे. फोटो, मित्र आणि डाव्या वापरकर्ता मेनूमधील अनुप्रयोगाची लिंक)

    माझ्या मते, JS API वापरून “API in Contact” पद्धतींना कॉल करणे चांगले नाही. हे साध्या कार्यांसाठी सोयीचे आहे. JS वर तयार केलेला पूर्णपणे Iframe ऍप्लिकेशन खूप श्रम-केंद्रित आहे. आणि म्हणून आम्ही API वरील HTTP विनंत्यांचा अभ्यास करण्यासाठी पुढे जाऊ.

    स्टेज 4: PHP आणि “API संपर्कात”

    यासाठी आमच्याकडे जूमला आणि एक क्लास आहे जो आम्ही लिंकवरून घेतो

    PHP द्वारे API सह कार्य करण्यासाठी, आपल्याला प्रत्येक विनंतीमध्ये आपल्या अनुप्रयोगाचा api_id समाविष्ट असेल (जेव्हा आपण अनुप्रयोगाच्या लिंकचे अनुसरण करता तेव्हा ते थेट ॲड्रेस बारमध्ये पाहिले जाऊ शकते) आणि गुप्त की - ते अनुप्रयोग तयार करताना जारी केला जातो (तो लांब आहे आणि अनुप्रयोग सेटिंग्जमध्ये बदलला जाऊ शकतो)

    PHP वापरून API कॉल असे दिसते:

    foreach ($this->$item म्हणून आयटम)(
    $uids = $item-> आयटम;
    }
    $api = नवीन vkapi();
    $ans = $api->api("getProfiles", array("uids" => implode(", $uids), "fields" => "photo, photo_big"));

    पहिला फोरच माझ्या ऍप्लिकेशनमधून सर्व नोंदणीकृत वापरकर्ते घेतो (परंतु 1000 पेक्षा जास्त नाही) आणि नंतर या वापरकर्त्यांबद्दल डेटा लोड करण्यासाठी “API in Contact” ला विनंती केली जाते. आउटपुट हे मूल्यांचे ॲरे आहे जसे की: $ans["response"][$i]["field"], जिथे प्रतिसाद वापरकर्त्यांबद्दल डेटाचा ॲरे आहे, नंतर $i घटक आणि शेवटी आवश्यक वापरकर्ता गुणधर्म फील्ड, उदाहरणार्थ नाव (नाव) किंवा फोटो.

    या पद्धतीचे फायदे:

    1. सुरक्षित API पद्धती उपलब्ध झाल्या आहेत, ज्या तुम्हाला शिल्लक शोधण्याची किंवा मते जोडणे/माघारायची असल्यास ती महत्त्वाची आहे.
    2. API सह कार्य करण्यासाठी JS कोडच्या "हजारो" ओळी लिहिण्याची गरज नाही
    3. आम्हाला एकाच वेळी सहज प्रशासित वेबसाइट आणि अर्ज मिळतात.

    मी जूमला मध्ये नेमके काय केले हे सांगण्यास बराच वेळ लागेल आणि त्याची गरज नाही, मी फक्त माझा अर्ज कसा कार्य करतो याचे अंदाजे तर्क देईन.

    सर्व जूमला घटक MVC पॅटर्नवर आधारित आहेत हे रहस्य नाही. जे सर्व काही शेल्फ् 'चे अव रुप वर ठेवते!

    घटकाचा नियंत्रक सर्व वापरकर्ता आदेश/विनंत्या स्वीकारतो (लिंक फॉलो करताना किंवा JS वापरून AJAX विनंत्या वापरताना वापरकर्त्याच्या क्रियांसाठीही)

    मॉडेल आमच्या घटकाच्या डेटाबेससह सर्व ऑपरेशन्ससाठी जबाबदार आहे, उदाहरणार्थ: ते मतदान स्वतः प्रदर्शित करते, ज्यांनी एखाद्या विशिष्ट मतदान सहभागीला मत दिले त्यांच्या याद्या, पडताळणी आणि पुनर्मतदानाला प्रतिसाद देतात आणि इतर अनेक सहाय्यक कार्ये.

    दृश्य विविध लेआउट्सचे आउटपुट आणि मॉडेलमधून डेटाचे हस्तांतरण नियंत्रित करते.

    जे जूमलासाठी घटक विकसित करत आहेत त्यांच्यासाठी सर्व काही अगदी स्पष्ट आहे.

    ॲप्लिकेशनमध्ये कुठेही vkapi.class.php क्लास वापरण्यापासून कोणीही रोखत नाही, मी ते फक्त आउटपुटसाठी डेटा तयार करण्यासाठी वापरले (उदाहरणार्थ, माझा ऍप्लिकेशन इन्स्टॉल केलेल्या संपर्कातील वापरकर्त्यांचा uid वापरणे, मी; फोटोंचे पत्ते लोड केले)

    स्टेज 5: विजेट्स

    प्रत्येकजण आधीच सोशल नेटवर्क्समधील विविध फॉर्म आणि बटणांच्या मोठ्या संख्येने नित्याचा आहे. मला माझ्या Iframe ऍप्लिकेशनमध्ये देखील एक हवा होता. टिप्पण्या विजेट कसे कनेक्ट करावे:

    कोणत्याही परिस्थितीत तुम्ही तुमच्या पेजवर खालील कोड जोडू नये:

    हे वेबसाइटसाठी योग्य आहे, परंतु Iframe अनुप्रयोगांसाठी योग्य नाही!

    तुम्हाला फक्त हे करायचे आहे:

    VK.Widgets.Comments("vk_comments", (मर्यादा: 10, रुंदी: "578", संलग्न करा: "*"));

    JS API मध्ये आधीच विजेट्स जोडण्यासाठी कार्ये आहेत.

    स्वतःच्या टिप्पण्यांबद्दल, आपल्याला माहित आहे की जेव्हा वापरकर्ता अनुप्रयोगासह पृष्ठावर टिप्पणी देतो तेव्हा ती त्याच्या भिंतीवर देखील प्रकाशित केली जाते, परंतु आपल्या वेबसाइटच्या दुव्यासह, अनुप्रयोगावर नाही! हे टाळण्यासाठी, तुम्हाला pageURL पॅरामीटर वापरण्याची आवश्यकता आहे, जो www.vkontakte.ru/app (app_id) फॉर्मेटमध्ये अर्जाचा पत्ता सूचित करेल.

    शेवटी मला हे मिळाले:

    VK.Widgets.Comments("vk_comments", (मर्यादा: 10, रुंदी: "578", संलग्न करा: "*", pageURL: "http://vkontakte.ru/app2176209"));

    स्टेज 6: निष्कर्ष

    परिणाम एक जटिल नाही, परंतु VKontakte मध्ये कार्यरत अनुप्रयोग आहे. जे VKontakte API आणि JS API सोबत आपल्या आवडत्या CMS वापरून नवीन आणि नवीन वैशिष्ट्ये आणि घटक जोडून सहजपणे विस्तारित आणि विकसित केले जाऊ शकतात.

    आपले लक्ष दिल्याबद्दल धन्यवाद, शुभेच्छा डॅनिला.

    P.S. डिपॉझिट म्हणून 10 मते मागून प्रशासनाने एका दिवसानंतर अर्ज मंजूर केला.
    P.P.S या दीड तासानंतर, खरेदीच्या अनेक ऑफर आधीच प्राप्त झाल्या होत्या! मी लगेच म्हणेन की ते विक्रीसाठी नाही, मला मुद्दा दिसत नाही, विशेषत: आता!

    28 एप्रिल 2012 रोजी रात्री 11:46 वाजता रेक्टर जवळ VK API + डमींसाठी Iframe. धडा 1. मित्रांचे अवतार प्रदर्शित करणे

    विषय VK API डमीसाठी तयार केला गेला आहे परंतु प्रोग्रामरसाठी ज्यांना php, javascript, jquery, css काय आहेत हे समजते.

    तुम्हाला वरील सर्व माहिती असल्यास, हा विषय वाचण्यासाठी काही मिनिटे द्या आणि सूचनांचे अनुसरण करा. हे तुम्हाला जास्त वेळ घेणार नाही! तुम्ही तुमची क्षमता वाढवू शकाल आणि नवीन बाजारपेठेत प्रवेश करू शकाल. ॲप्लिकेशन्सचे वैशिष्ट्य म्हणजे व्हीके ट्रॅफिक देते आणि तुमचा अर्ज मंजूरीनंतर लगेचच हजार लोक पाहतील (1-2 दिवस). या ट्युटोरियलमध्ये मी तुम्हाला ॲप्लिकेशन कसे बनवायचे आणि मित्रांचे अवतार एका कॉलममध्ये कसे दाखवायचे ते सांगेन.

    व्यक्तिशः, मला काय आणि कुठे हे समजणे फार कठीण होते, म्हणूनच या विषयाची कल्पना आली.

    1. विकसक पृष्ठावर जा: vk.com/developers.php

    2. निळ्या बटणावर क्लिक करून अनुप्रयोग तयार करा.

    3. नाव प्रविष्ट करा, प्रकार निवडा - iframe/Flash आणि कोणतीही श्रेणी

    4. आम्हाला VK कडून एक एसएमएस प्राप्त होतो, आम्ही बॉट नाही याची पुष्टी करतो. आम्ही हब्रमण!

    5. हुर्रे - हुर्रे - हुर्रे! तुम्ही तुमचा पहिला अर्ज तयार केला आहे (किंवा कदाचित तुमचा पहिला नसेल)! पुढे, "सेटिंग्ज" वर जा.

    6. निवडा: स्थिती - अनुप्रयोग सक्षम आहे आणि प्रत्येकासाठी दृश्यमान आहे, अनुप्रयोग प्रकार: iframe. अनुप्रयोग स्थापित करणे आवश्यक आहे. प्रवेशासाठी विनंती करा - मित्रांमध्ये प्रवेश करा. स्क्रिप्टसाठी पत्ता प्रविष्ट करा (माझ्या बाबतीत, स्क्रिप्ट स्थानिक क्षेत्रावर होस्ट केली जाईल).
    लक्ष द्या! अनुप्रयोगाची कमाल रुंदी 827 पिक्सेल आहे.

    7. आता आमचे index.php उघडा आणि ते भरा:

    8. वरील कोडमध्ये काहीही क्लिष्ट नाही असे दिसते. चला सुरू ठेवूया. आता आम्ही VKontakte API स्क्रिप्ट कनेक्ट करू.

    9. आता आपण सामग्रीवर अवलंबून Iframe ची उंची बदलण्यासाठी स्क्रिप्ट वापरू. समजा सेटिंग्जमधील अनुप्रयोगाची उंची 500 पिक्सेल आहे. जर आपले 200 मित्र असतील आणि एका स्तंभात 200 अवतार असतील तर? काय करावे? यासाठी आपण एक स्क्रिप्ट तयार करतो - vk_height.js

    VK.init(फंक्शन())( ));

    फंक्शन ऑटोसाइज(रुंदी) ( // उपस्थितीसाठी मुख्य भाग तपासा. जर (!document.getElementById("body")) ( इशारा("त्रुटी"); परत करा; ) // VK स्क्रिप्ट यशस्वीरित्या कनेक्ट झाली आहे का जर (VK चा प्रकार .callMethod != "अपरिभाषित") ( /* विंडो नियंत्रित करण्यासाठी vk js api फंक्शनला कॉल करा. VK.callMethod("फंक्शन", पॅरामीटर्स) या प्रकरणात आमच्याकडे आहे - VK.callMethod("window_resizing", रुंदी, उंची) ; आम्ही थोडे अंतर करण्यासाठी आणखी 60 पिक्सेल देखील जोडतो */ VK.callMethod("resizeWindow", 840, document.getElementById("body").clientHeight + 60 ) इतर ( अलर्ट ("त्रुटी #2"); ) $ (दस्तऐवज).रेडी(फंक्शन())( //प्रत्येक अर्ध्या सेकंदाला उंची समायोजन फंक्शन कॉल करा. सेटइंटरवल("ऑटोसाइज(607)", 500); ));

    10. आता आमची vk_height.js index.php शी कनेक्ट करू
    11. चला हॅलो, जग लिहू! index.php मध्ये

    नमस्कार, जग!

    12. VK JS API सोबतच काम करण्याची वेळ आली आहे.

    VK API मला बऱ्याच jquery ची आठवण करून देतो. ज्या लोकांना $.post, $.get, $.ajax माहित आहे त्यांना लगेच समजेल काय आहे. लक्ष द्या! डीफॉल्टनुसार, VK कडील डेटा json मध्ये येतो.
    $uids = $item-> आयटम;
    }
    $api = नवीन vkapi();
    $ans = $api->api("getProfiles", array("uids" => implode(", $uids), "fields" => "photo, photo_big"));

    पहिला फोरच माझ्या ऍप्लिकेशनमधून सर्व नोंदणीकृत वापरकर्ते घेतो (परंतु 1000 पेक्षा जास्त नाही) आणि नंतर या वापरकर्त्यांबद्दल डेटा लोड करण्यासाठी “API in Contact” ला विनंती केली जाते. आउटपुट हे मूल्यांचे ॲरे आहे जसे की: $ans["response"][$i]["field"], जिथे प्रतिसाद वापरकर्त्यांबद्दल डेटाचा ॲरे आहे, नंतर $i घटक आणि शेवटी आवश्यक वापरकर्ता गुणधर्म फील्ड, उदाहरणार्थ नाव (नाव) किंवा फोटो.

    या पद्धतीचे फायदे:

    1. सुरक्षित API पद्धती उपलब्ध झाल्या आहेत, ज्या तुम्हाला शिल्लक शोधण्याची किंवा मते जोडणे/माघारायची असल्यास ती महत्त्वाची आहे.
    2. API सह कार्य करण्यासाठी JS कोडच्या "हजारो" ओळी लिहिण्याची गरज नाही
    3. आम्हाला एकाच वेळी सहज प्रशासित वेबसाइट आणि अर्ज मिळतात.

    मी जूमला मध्ये नेमके काय केले हे सांगण्यास बराच वेळ लागेल आणि त्याची गरज नाही, मी फक्त माझा अर्ज कसा कार्य करतो याचे अंदाजे तर्क देईन.

    सर्व जूमला घटक MVC पॅटर्नवर आधारित आहेत हे रहस्य नाही. जे सर्व काही शेल्फ् 'चे अव रुप वर ठेवते!

    घटकाचा नियंत्रक सर्व वापरकर्ता आदेश/विनंत्या स्वीकारतो (लिंक फॉलो करताना किंवा JS वापरून AJAX विनंत्या वापरताना वापरकर्त्याच्या क्रियांसाठीही)

    मॉडेल आमच्या घटकाच्या डेटाबेससह सर्व ऑपरेशन्ससाठी जबाबदार आहे, उदाहरणार्थ: ते मतदान स्वतः प्रदर्शित करते, ज्यांनी एखाद्या विशिष्ट मतदान सहभागीला मत दिले त्यांच्या याद्या, पडताळणी आणि पुनर्मतदानाला प्रतिसाद देतात आणि इतर अनेक सहाय्यक कार्ये.

    दृश्य विविध लेआउट्सचे आउटपुट आणि मॉडेलमधून डेटाचे हस्तांतरण नियंत्रित करते.

    जे जूमलासाठी घटक विकसित करत आहेत त्यांच्यासाठी सर्व काही अगदी स्पष्ट आहे.

    ॲप्लिकेशनमध्ये कुठेही vkapi.class.php क्लास वापरण्यापासून कोणीही रोखत नाही, मी ते फक्त आउटपुटसाठी डेटा तयार करण्यासाठी वापरले (उदाहरणार्थ, माझा ऍप्लिकेशन इन्स्टॉल केलेल्या संपर्कातील वापरकर्त्यांचा uid वापरणे, मी; फोटोंचे पत्ते लोड केले)

    स्टेज 5: विजेट्स

    प्रत्येकजण आधीच सोशल नेटवर्क्समधील विविध फॉर्म आणि बटणांच्या मोठ्या संख्येने नित्याचा आहे. मला माझ्या Iframe ऍप्लिकेशनमध्ये देखील एक हवा होता. टिप्पण्या विजेट कसे कनेक्ट करावे:

    कोणत्याही परिस्थितीत तुम्ही तुमच्या पेजवर खालील कोड जोडू नये:

    हे वेबसाइटसाठी योग्य आहे, परंतु Iframe अनुप्रयोगांसाठी योग्य नाही!

    तुम्हाला फक्त हे करायचे आहे:

    VK.Widgets.Comments("vk_comments", (मर्यादा: 10, रुंदी: "578", संलग्न करा: "*"));

    JS API आधीपासून विजेट्स जोडण्यासाठी कार्ये लागू करते.

    स्वतःच्या टिप्पण्यांबद्दल, आपल्याला माहित आहे की जेव्हा वापरकर्ता अनुप्रयोगासह पृष्ठावर टिप्पणी देतो तेव्हा ती त्याच्या भिंतीवर देखील प्रकाशित केली जाते, परंतु आपल्या वेबसाइटच्या दुव्यासह, अनुप्रयोगावर नाही! हे टाळण्यासाठी, तुम्हाला pageURL पॅरामीटर वापरण्याची आवश्यकता आहे, जो www.vkontakte.ru/app (app_id) फॉर्मेटमध्ये अर्जाचा पत्ता सूचित करेल.

    शेवटी मला हे मिळाले:

    VK.Widgets.Comments("vk_comments", (मर्यादा: 10, रुंदी: "578", संलग्न करा: "*", pageURL: "http://vkontakte.ru/app2176209"));

    स्टेज 6: निष्कर्ष

    परिणाम एक जटिल नाही, परंतु VKontakte मध्ये कार्यरत अनुप्रयोग आहे. जे VKontakte API आणि JS API सोबत आपल्या आवडत्या CMS वापरून नवीन आणि नवीन वैशिष्ट्ये आणि घटक जोडून सहजपणे विस्तारित आणि विकसित केले जाऊ शकतात.

    मला काय मिळाले ते येथे आहे.



    // मित्रांना प्राप्त करण्यासाठी आणि त्यांना स्क्रीन फंक्शन doIt()) ( /* VK.api("पद्धत", (पॅरामीटर: "मूल्य"), कॉलबॅक फंक्शन (// प्राप्त डेटासह कार्य) वर प्रदर्शित करण्यासाठी कार्य; * / VK.api ("friends.get", (फील्ड: "photo_medium"), फंक्शन(डेटा) ( // प्राप्त डेटासह क्रिया(c=0; $item म्हणून citems)(

    वर