นักพัฒนา VKontakte VKontakte API คืออะไรและเหตุใดจึงจำเป็น คลาสสำหรับการทำงานกับ VK API

บางครั้งสถานการณ์เกิดขึ้นซึ่งสามารถแก้ไขได้โดยติดต่อฝ่ายบริหารของเครือข่ายโซเชียลเท่านั้น

ก่อนเป็น เขียนถึงฝ่ายสนับสนุนด้านเทคนิคบน VKontakteคิดใหม่ แก้ปัญหาได้โดยไม่ต้องลงมือทำ

การรอคำตอบจากฝ่ายสนับสนุนด้านเทคนิคอาจใช้เวลานานกว่านั้น 24 ชั่วโมง-

และข้อมูลเกี่ยวกับปัญหา VKontakte สามารถพบได้บนอินเทอร์เน็ต คำถามทั้งหมดได้รับการแก้ไขบนเว็บไซต์ของเรา

แต่ถ้าคุณต้องการหรือให้บุคคลกระทำการที่ผิดกฎหมาย ปัญหาดังกล่าวจะได้รับการพิจารณาผ่านการสนับสนุนด้านเทคนิคเท่านั้น 1.เพื่อที่จะติดต่อฝ่ายสนับสนุนด้านเทคนิคของ VK

  • ไปที่ส่วน "ความช่วยเหลือ" จากโปรไฟล์ของคุณ

ที่มุมขวาบน ให้คลิกที่อวตารของคุณ

  • 2. เขียนปัญหาที่คุณพบ ทันทีที่คุณเขียนปัญหาคุณจะต้องเผชิญ

3. วิธีแก้ปัญหา หากวิธีการเหล่านี้ไม่สามารถแก้ปัญหาของคุณได้ ให้คลิกที่ปุ่ม



ลิงค์ 5. โดยละเอียดแล้วอธิบายสถานการณ์


  • และส่งคำถามมาพิจารณา

ยิ่งคุณให้ข้อมูลมากเท่าไร โอกาสที่คุณจะได้รับความช่วยเหลือในการแก้ปัญหาอย่างรวดเร็วก็จะยิ่งมากขึ้นเท่านั้น แค่นั้นแหละ ตอนนี้สิ่งที่เราต้องทำคือรอ.

การตอบสนองจากฝ่ายสนับสนุนด้านเทคนิคของ VKontakte หากคุณถูกแฮ็ก โปรดเขียนถึงฝ่ายสนับสนุนด้านเทคนิคของคุณเพื่อน/ญาติ

จากบัญชีของเขา () ทำเช่นเดียวกันหากเพจถูกบล็อกสูญเสียการเข้าถึงโทรศัพท์

, เชื่อมโยงกับเพจไหน? ตัวแทนสนับสนุนจะช่วยคุณในการสแกนหนังสือเดินทางของคุณ พวกเขาพยายามจะหลอกลวงคุณหรือเปล่า? แบล็กเมล์?กำลังส่งรูปถ่าย

- เขียนถึงฝ่ายสนับสนุนทางเทคนิคว่ามีทางออก หากมีความจำเป็นเขียนถึงฝ่ายสนับสนุนด้านเทคนิคของ VK จากโทรศัพท์ของคุณ

จากนั้นคุณควรดำเนินการที่คล้ายกันจากแอปพลิเคชันมือถือเท่านั้น:

1. ดาวน์โหลดสำหรับ iOS, Android หรือ Windows Phone แล้วไปที่แท็บ

ฉันเตือนคุณทันทีว่าบทความนี้ไม่เหมาะสำหรับผู้เริ่มต้นและฉันจะไม่อธิบายบางประเด็นเนื่องจากบทความจะมีความยาวมาก ในบทความเหล่านี้ ฉันแค่อยากจะแสดงหลักการทำงานกับ VK API และตัวอย่างโค้ด และแน่นอนว่าโค้ดนี้จะมีอยู่ใน GitHub

ข้อมูลพื้นฐาน

สิ่งแรกที่เราต้องสร้างแอปพลิเคชันของเราคือไปที่ https://vk.com/dev- ต่อไปเราไปกันที่ “ใบสมัครของฉัน”และกดปุ่ม "สร้างแอปพลิเคชัน"- VKontakte อนุญาตให้คุณลงทะเบียนแอปพลิเคชัน 3 ประเภทพร้อมคำอธิบายสั้น ๆ ของแต่ละประเภท:

  • แอปพลิเคชันแบบสแตนด์อโลน- มีไว้สำหรับไคลเอนต์มือถือ โปรแกรมเดสก์ท็อป และไซต์ที่จะดำเนินการโต้ตอบกับ API จาก Javascript
  • เว็บไซต์- หากคุณต้องการเขียนสคริปต์สำหรับเว็บไซต์ที่จะใช้ API ให้ระบุตัวเลือกนี้
  • แอปพลิเคชัน IFrame/แฟลช- เกมบน VKontakte ฯลฯ

เราเขียนชื่อแอปพลิเคชัน เลือกประเภท "เว็บไซต์" ในที่อยู่ไซต์และโดเมนหลักเราระบุที่อยู่จริงของไซต์และโดเมนของคุณ หากคุณกำลังพัฒนาในพื้นที่ คุณสามารถระบุ http://localhost

การสร้างแอปพลิเคชัน

แอปพลิเคชันของเราได้ถูกสร้างขึ้นแล้ว ในส่วนการแก้ไข ให้ไปที่ "การตั้งค่า" หน้านี้จะมีข้อมูลที่เราต้องการคือ รหัส, รหัสป้องกันและ รหัสบริการ- ทั้งหมดนี้จำเป็นสำหรับการอนุญาตผู้ใช้ อัลกอริทึมสำหรับการโต้ตอบกับ API นั้นง่ายมาก:

  1. ผู้ใช้อนุญาตบัญชี VK ในแอปพลิเคชัน
  2. ได้รับโทเค็นพิเศษ
  3. ทำการร้องขอไปยัง API

ตอนนี้เราจำเป็นต้องเขียนโค้ดที่จะทำให้เราสามารถโต้ตอบกับ API ได้ เราจะเขียนด้วย PHP โดยรวมไลบรารีบางส่วนไว้ด้วย เราจะต้อง นักแต่งเพลงหากคุณยังไม่ได้ติดตั้ง คุณสามารถดาวน์โหลดได้โดยไปที่ลิงก์นี้

ในโฟลเดอร์โปรเจ็กต์ ให้สร้างไฟล์ composer.json และเขียนข้อมูลต่อไปนี้ลงไป:

( "ต้องการ": ( "slim/slim": "^3.0", "twbs/bootstrap": "4.0.0-alpha.6", "ส่องสว่าง/ฐานข้อมูล": "^5.4", "slim/twig-view ": "^2.2", "guzzlehttp/guzzle": "~6.0" ) )

เราบันทึกไฟล์ เปิดคอนโซล และไปที่โฟลเดอร์ที่มีโปรเจ็กต์ของเราซึ่งมีไฟล์ที่เราสร้างขึ้น รันคำสั่งติดตั้งผู้แต่ง
ด้วยคำสั่งนี้ เราได้ติดตั้ง Slim mini framework, Bootstrap สำหรับเลย์เอาต์ที่รวดเร็ว, แพ็คเกจสำหรับการทำงานกับฐานข้อมูลและกลไกเทมเพลต

โครงสร้างการสมัคร

โครงสร้างนั้นง่ายมากและประกอบด้วยไฟล์และโฟลเดอร์หลายไฟล์

  • แอป— สำหรับการตั้งค่าแอปพลิเคชัน เราจะเก็บเส้นทาง คลาส และไฟล์การตั้งค่าอื่นๆ ไว้ในโฟลเดอร์นี้
  • สาธารณะ— โฟลเดอร์หลักที่มีไฟล์ ดัชนี.phpและไฟล์สไตล์
  • ทรัพยากร- โฟลเดอร์สำหรับการดู

การสร้างไฟล์

สาธารณะ/index.php

วิ่ง();

ในไฟล์นี้เราจะเปิดแอปพลิเคชันของเราเท่านั้น การตั้งค่าทั้งหมดจะทำในไฟล์อื่น นี่คือจุดเริ่มต้นของเรา

แอพ/app.php

รวม "../vendor/autoload.php"; // Debug $config = [ "settings" => [ "displayErrorDetails" => true, "LogLevel" => "debug", "vk" => [ "client_id" => "ID ของแอปพลิเคชันของคุณ", "client_secret" = > "รหัสลับของแอปพลิเคชันของคุณ", "redirect_uri" => "http://vk-tutor.com/authorize", "display" => "ป๊อปอัพ", "scope" => "friends,wall,offline ", " response_type" => "รหัส" ] ], ]; $app = ใหม่ Slim\App($config); // DI สำหรับมุมมองทวิก $container = $app->getContainer(); $container["view"] = function ($container) ( $view = new \Slim\Views\Twig("../resources/views", [ "cache" => false ]); $basePath = rtrim(str_ireplace ("index.php", "", $container["request"]->getUri()->getBasePath()), "/"); $view->addExtension(ใหม่ Slim\Views\TwigExtension($container[ "เราเตอร์"], $basePath)); กลับ $view); รวม "classes/VK.php"; // เส้นทางต้องมี "routes.php";

อย่าตกใจไป ไม่มีอะไรซับซ้อน เราเพียงแค่เชื่อมต่อตัวโหลด ฉีดการพึ่งพาสำหรับการใช้ Twig และรวมไฟล์เข้ากับเส้นทาง

แอพ/เส้นทาง.php

get("/", function ($request, $response) ( $vk = new VK($this->get("settings")["vk"]); if (isset($_SESSION["vk"]) ) ( if (!isset($_SESSION["account"])) ( // ตั้งค่าโทเค็น $vk->accessToken = $_SESSION["vk"]->access_token; // รับข้อมูลเกี่ยวกับผู้ใช้ปัจจุบัน // บันทึก ข้อมูลทั้งหมดในเซสชัน $_SESSION["account"] = $vk->getAccountInfo($_SESSION["vk"]->user_id ) return $this->view->render($response,"index.html", [" vk" => $vk, "account" => $_SESSION["account"]->response]); ) ส่งคืน $this->view->render($response,"index.html", ["vk" = > $vk]); $app->get("/authorize", function ($request, $response) ( // ตรวจสอบว่ามีโค้ดอยู่ในแถบที่อยู่หรือไม่ ถ้า ($request->getQueryParam("code") != NULL) ( $vk = new VK($this->get("settings")["vk"]); // รับโทเค็น $_SESSION["vk"] = $vk->getAccessToken($request->getQueryParam("code") ); ) ส่งคืน $response->withStatus(302)->withHeader("Location", "../" ));

ตอนนี้แอปพลิเคชันของเราพร้อมใช้งานอย่างสมบูรณ์แล้ว ในการแสดงผลเพจ คุณต้องวางเทมเพลตไว้ในไดเร็กทอรี resources/views เราสามารถเริ่มเขียนโค้ดได้เองซึ่งจะช่วยให้เราโต้ตอบกับ VKontakte API ได้ เนื่องจากเราจำเป็นต้องส่งคำขอ HTTP ไปยัง API ฉันจึงติดตั้ง Guzzle นี่คือไคลเอนต์ HTTP ที่จะช่วยให้เราดำเนินการร้องขอ HTTP ไปยัง vkontakte ได้อย่างง่ายดาย

คลาสสำหรับการทำงานกับ VK API

client_id = $params["client_id"]; $this->client_secret = $params["client_secret"]; $this->redirect_uri = $params["redirect_uri"]; $this->display = $params["display"]; $this->scope = $params["scope"]; $this->response_type = $params["response_type"]; ) ฟังก์ชั่นสาธารณะ getLoginLink() ( $params = [ "client_id" => $this->client_id, "redirect_uri" => $this->redirect_uri, "scope" => $this->scope, "response_type" => $ this->response_type ]; return $this->loginUrl . http_build_query($params); ฟังก์ชั่นสาธารณะ getAccessToken($code) ( $client = new \GuzzleHttp\Client(); $response = $client->request("POST " , $this->queryUrl, [ "form_params" => [ "client_id" => $this->client_id, "client_secret" => $this->client_secret, "redirect_uri" => $this->redirect_uri, "code " => $code, ], "verify" => false, ]); $data = json_decode($response->getBody()); return $data; ) ฟังก์ชั่นสาธารณะ getAccountInfo($id) ( $url = "https : //api.vk.com/method/users.get"; $client = new \GuzzleHttp\Client(); $response = $client->request("POST", $url, [ "form_params" => [ " user_ids" => $id, "fields" => "photo_50,counters", "name_case" => "Nom", "access_token" => $this->accessToken ], "ยืนยัน" => false $ ]); ข้อมูล = json_decode($response->getBody()); ส่งคืนข้อมูล $; -

ฉันเขียนคลาสเล็กๆ ที่จนถึงขณะนี้รู้วิธีอนุญาตผู้ใช้เท่านั้น
เมธอด getLoginLink() สร้างลิงก์เข้าสู่ระบบ เมธอด getAccessToken() ร้องขอโทเค็นการเข้าถึง และเมธอด getAccountInfo() สุดท้ายจะโหลดข้อมูลเกี่ยวกับผู้ใช้ที่ได้รับอนุญาต

การดำเนินการนี้ทำให้ตรรกะของแอปพลิเคชันเสร็จสมบูรณ์ และเมื่อผู้ใช้เข้าสู่ระบบ เราจะได้รับอาร์เรย์พร้อมข้อมูลผู้ใช้ในเซสชันและสามารถแสดงข้อมูลได้
ตั้งแต่ฉันเชื่อมต่อ กิ่งเทมเพลตของฉันเขียนเป็นไฟล์ html แต่คุณสามารถใช้ไฟล์ php ปกติหรือกลไกเทมเพลตอื่นได้

รหัสไฟล์สำหรับแสดงข้อมูล

(% ขยาย "layout/app.html" %) (% เนื้อหาบล็อก %)

(% หากบัญชี%)

บัญชี


(% สำหรับบัญชีในบัญชี %)
(( acc.first_name )) (( acc.last_name ))
เพื่อน: (( acc.counters.friends ))
ผู้ติดตาม: (( acc.counters.followers ))
(% สิ้นสุดสำหรับ %) (% อื่น ๆ %)

อนุญาตผู้ใช้


การอนุญาต (% endif %)
(% สิ้นสุดการปิดกั้น%)

กรอบ บางเหมาะอย่างยิ่งสำหรับการสร้างแอปพลิเคชันขนาดเล็กและ API สำหรับโปรเจ็กต์ของคุณ ซึ่งเป็นสาเหตุที่ฉันใช้มันในบทความนี้และจะใช้มันต่อไป ในบทความถัดไป เราจะมาดูกันว่าคุณจะรับโพสต์จากวอลล์ในกลุ่มและประมวลผลได้อย่างไร

ผู้ที่ตัดสินใจพัฒนาแอปพลิเคชันสำหรับ VKontakte ไม่ช้าก็เร็วจะต้องจัดการกับแนวคิดเช่น API (Application Programming Interface) ซึ่งหมายถึงอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันอย่างแท้จริง

ง่ายยิ่งขึ้น - เอพีไอนี่คือความซับซ้อนทั้งหมดของฟังก์ชันสำเร็จรูป คลาสสำเร็จรูป ค่าคงที่ ฯลฯ ซึ่งสามารถใช้ในบุคคลที่สามได้ VKontakte API ได้รับการปรับปรุงอย่างต่อเนื่อง และในปัจจุบันนี้เป็นชุดโปรแกรมเสริมที่ทำงานได้อย่างสมบูรณ์แล้ว

คุณสามารถอ่านเอกสารโดยละเอียดได้ที่นี่
การเปลี่ยนแปลงระดับโลกครั้งล่าสุดของสภาพแวดล้อมการพัฒนานี้เกิดขึ้นตั้งแต่เดือนเมษายน พ.ศ. 2552 แน่นอนว่าแม้หลังจากนั้นไซต์ก็ได้รับการแก้ไขอย่างต่อเนื่อง มาดูคุณสมบัติหลักของ VKontakte API กัน

  1. API ช่วยให้แอปพลิเคชันสามารถเข้าถึงเพื่อน รูปภาพ และวิดีโอของพวกเขาได้ แอพพลิเคชั่นได้เลย สร้างอัลบั้มด้วยตัวเองและใส่ข้อมูลลงไป- สิ่งนี้ไม่เคยเกิดขึ้นมาก่อน สิ่งสำคัญคือเมื่อติดตั้งแอปพลิเคชันดังกล่าว ผู้ใช้ตัดสินใจว่าจะอนุญาตให้เขาเข้าถึงข้อมูลส่วนบุคคลหรือไม่
  2. การส่งการแจ้งเตือนโดยแอปพลิเคชัน ใช่ บางครั้งมันก็น่ารำคาญ การแจ้งเตือนแบบผุดขึ้นในส่วนล่างซ้ายของหน้าจอยังใช้งานโดยใช้ API อีกด้วย
  3. การเชิญเพื่อนเข้าสู่แอพก็กลายเป็นเรื่องง่ายยิ่งขึ้นด้วย อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันซึ่งมีการใช้ฟังก์ชันการเชิญมวลชนนี้ ต่อจากนั้นคำเชิญเหล่านี้เริ่มถูกนำมาใช้เพื่อการโฆษณา
  4. โฆษณาจาก VK หายไปจากหน้าแอปพลิเคชัน ตอนนี้ผู้พัฒนาเกมหรือโปรแกรมสำหรับ VK ตัดสินใจด้วยตัวเองว่าเขาต้องการโฆษณาในแฟลชไดรฟ์หรือไม่ ถ้าใช่เขามีสิทธิที่จะวางของตัวเองและรับจากมัน กำไร 100%.
  5. ตามที่นักพัฒนา VK เรียกมันว่าผู้ใช้ที่รวมแอปพลิเคชันจะสามารถเข้าถึงเศรษฐกิจภายในของเครือข่ายได้ พูดง่ายๆ ก็คือ API พร้อมใช้งานแล้วที่อนุญาต ใช้ VKontakte เป็นการชำระเงินภายใน.
  6. โอกาส เปิดแอปพลิเคชันในโหมดเต็มหน้าจอ- การเพิ่มขนาดเฟรมสูงสุดทำให้สามารถวางแบนเนอร์เพิ่มเติมพร้อมโฆษณาได้ ดังนั้นการพัฒนาแอปพลิเคชันสำหรับ VK ในปัจจุบันจึงไม่ใช่แค่ความสุข แต่ยังเป็นกิจกรรมที่ทำกำไรได้เมื่อตัดสินใจโฆษณาและขายแบนเนอร์จากมัน
  7. แอปพลิเคชันบุคคลที่สามกำลังแพร่กระจายอยู่ในขณะนี้และ ผ่านทางฟีดข่าว- นี่เป็นอีกก้าวหนึ่งในการเผยแพร่ให้แพร่หลาย นอกจากนี้ (แม้ว่าจะผ่านมานานแล้ว แต่ไอคอนขนาดเล็กก็พร้อมใช้งานสำหรับแอปพลิเคชัน)
  8. ลำดับผลลัพธ์ของแอปพลิเคชันยังใช้งานโดยใช้ API ตามค่าเริ่มต้นแล้ว เกมเหล่านั้นที่เปิดตัวบ่อยที่สุดจะอยู่ในตำแหน่งแรกของคุณ รายการที่คุณไม่ได้ใช้มาเป็นเวลานานสามารถพบได้ที่ส่วนท้ายของรายการ
  9. ต้องขอบคุณ API ที่ทำให้มันพร้อมใช้งานและ สถิติในตัวโดยละเอียดวันนี้คุณสามารถนับจำนวนผู้เข้าชม การดูเพจ เพศ อายุ ตำแหน่งของผู้ใช้แอปพลิเคชันได้อย่างง่ายดาย ข้อมูลทั้งหมดจะถูกนำเสนอในรูปแบบที่มองเห็นได้มากที่สุดเท่าที่จะเป็นไปได้ ในรูปแบบของกราฟแฟลช ซึ่งสร้างขึ้นทันที ทำเพื่อการโฆษณาเป็นหลัก (การขายพื้นที่โฆษณา) คุณได้รับสถิติ คุณจะเห็นว่าแอปพลิเคชันนี้มีผู้ใช้งานนับหมื่นคน คุณแสดงสิ่งนี้ให้ผู้ลงโฆษณาซึ่งอาจต้องการชำระค่าแบนเนอร์ในแอปพลิเคชันดังกล่าว
  10. สำหรับแอพพลิเคชั่นยอดนิยมก็เป็นไปได้ การจดทะเบียนโดเมนย่อยแบบสั้น(เช่น chat.vk.com และที่คล้ายกัน) เพื่อการจดจำที่ง่ายและเข้าถึงได้รวดเร็ว
  11. ในที่สุดโอกาสก็มาถึงแล้ว การแสดงข้อมูลบนหน้าส่วนตัวของผู้ใช้.

เมื่อเร็ว ๆ นี้ฉันเริ่มเขียนบทความโดยเน้นไปที่คำขอจากผู้ใช้โซเชียลเน็ตเวิร์ก Vkontakte ดังนั้นฉันอีกครั้ง ถามว่า “จะเขียนถึงฝ่ายสนับสนุนด้านเทคนิคบน VKontakte ได้อย่างไร”และฉันจะเขียนบทความเพื่อว่าครั้งต่อไปฉันจะสามารถส่งลิงก์ตอบกลับได้

หากคุณประสบปัญหากับ VKontakte เช่น ไม่สามารถเข้าถึงเพจ ถูกแฮ็ก หรือเล่นเพลงไม่ได้ ฉันไม่แนะนำให้เรียกใช้ฝ่ายสนับสนุนด้านเทคนิคทันที ทำไม

  1. การสนับสนุนทางเทคนิคของ VKontakte ช้า โดยปกติแล้วคุณจะสามารถแก้ไขปัญหาได้ด้วยตัวเองเร็วขึ้น
  2. มีโอกาสที่คุณจะไม่ได้รับความช่วยเหลือตามปกติ พวกเขาจะหาข้อมูลให้คุณ
  3. ปัญหาส่วนใหญ่ที่เกี่ยวข้องกับ VKontakte สามารถแก้ไขได้โดยไม่ต้องติดต่อพวกเขา ฉันเขียนบทความที่ฉันแก้ไขปัญหาของผู้ใช้เป็นประจำ คุณสามารถดูได้ในส่วนนี้ หรือใช้การค้นหาบล็อก

จะเขียนถึงฝ่ายสนับสนุนด้านเทคนิคของ VKontakte ได้อย่างไร?

ลองจินตนาการว่ามีปัญหาเกิดขึ้นซึ่งสามารถแก้ไขได้โดยฝ่ายสนับสนุนด้านเทคนิคเท่านั้น เช่น เพจของคุณถูกขโมย! สิ่งแรกที่คุณต้องทำคือค้นหาเว็บไซต์สนับสนุนด้านเทคนิคของ VKontakte ซึ่งได้เปลี่ยนที่อยู่ไปแล้วสองสามครั้ง ลิงค์ปัจจุบันคืออันนี้ http://vk.com/support?act=new.

คุณจะเห็นหน้านี้ในฟิลด์ที่ระบุด้วยลูกศรคุณสามารถถามคำถามที่คุณสนใจได้ ด้านล่างยังมีคำตอบสำหรับคำถามยอดนิยม เช่น?

รายชื่อติดต่อและหมายเลขสนับสนุนทางเทคนิคบน VKontakte

คุณยังสามารถติดต่อฝ่ายสนับสนุนทางเทคนิคผ่านทางอีเมลด้านล่าง และฉันจะโพสต์อีเมลของฝ่ายสนับสนุนด้านเทคนิคเองและบุคคลที่จัดการกับมัน น่าเสียดายที่ฝ่ายสนับสนุนด้านเทคนิคของ VKontakte ไม่มีหมายเลขโทรศัพท์ การโทรและแก้ไขปัญหาของคุณจะไม่ทำงาน

อีเมล: [ป้องกันอีเมล]– ติดต่อฝ่ายสนับสนุนด้านเทคนิค
อีเมล: [ป้องกันอีเมล]– กายาน มานูเคียน
อีเมล: [ป้องกันอีเมล]– แม็กซิม บาบิเชฟ

ฉันขอให้คุณโชคดีในการต่อสู้กับการสนับสนุนทางเทคนิค หากมีปัญหาเขียนความคิดเห็น

หากบทความนี้ช่วยคุณหรือชอบอย่าลืม ให้สิ่งที่คุณชอบซึ่งจะช่วยให้ผู้ใช้รายอื่นค้นพบได้เร็วยิ่งขึ้น และฉันสามารถค้นหาสิ่งที่คุณสนใจมากที่สุดเพื่อเตรียมและเขียนบทความที่น่าสนใจและมีประโยชน์มากยิ่งขึ้น! ขอแสดงความนับถือ Vyacheslav