VKontakte의 API ID를 찾는 방법. 우리는 소셜 네트워크 VKontakte 및 Facebook에서 API ID를 얻습니다. 도서관과 함께 일하기

VKontakte 커뮤니티가 있나요? 누군가가 부정적인 댓글을 작성하거나, 누군가를 모욕하거나, 단순히 귀하의 회사에 대한 리뷰를 작성했거나, 신속하게 답변이 필요한 질문을 작성한 경우가 있습니까? PushAll에서는 커뮤니티의 다양한 이벤트에 대한 알림을 받을 수 있는 마이크로서비스를 작성했습니다. 사실 VKontakte는 최근에 출시되었습니다. 커뮤니티를 위한 콜백 API, API에서 푸시 알림 형식으로 클라우드하여 사용하기로 결정했습니다.

사용 방법?


마이크로서비스 채널을 구독하고 지침을 따르기만 하면 됩니다.

마이크로서비스의 주소를 입력합니다. 특별 섹션그룹 설정과 마이크로서비스 설정에서 VKontakte가 확인을 위해 필요한 코드를 작성합니다. 또한 마이크로서비스가 사용자에 대한 데이터(아바타 및 이름)를 수신할 수 있도록 OAuth VK를 통해 인증을 통과해야 합니다.

그 후에는 "이벤트 유형" 섹션에서 지정한 모든 알림을 받게 됩니다.

그러나 모든 유형의 이벤트가 지원되는 것은 아니라는 점을 이해해야 합니다.

  • 메시지
  • 코멘트
  • 게시물
  • 커뮤니티 로그아웃/로그인
  • 토론
이러한 유형에는 이벤트를 시작한 사용자의 아바타와 사용자 이름, 이벤트 제목, 이벤트 자체가 함께 제공됩니다.

기타 유형 이 순간"지원되지 않는 알림" 형식으로 와서 VKontakte가 보내는 모든 JSON을 전송합니다. 일주일 안에 완료될 것입니다.

알림은 어디서 오나요?

PushAll이 알림을 보내는 위치를 모르는 경우:
  • 안드로이드 애플리케이션
  • 기록이 포함된 Chrome 부가기능
  • Chrome(Android+PC), Yandex 브라우저, vivaldi, firefox, Safari에서 웹 푸시
  • 텔레그램 봇
  • 이메일
  • iOS(베타)
장치의 범위와 연결성은 계속해서 증가할 것입니다.

안전

VKontakte는 보안에 대한 철저한 접근 방식을 취했습니다. 스크립트는 사용자가 지정한 데이터만 수신하며 제어에 대한 액세스는 없습니다. 아바타와 사용자 이름에 필요한 API에 대한 액세스 제공은 오프라인 권한만 요청하고 사용자의 이메일도 요청하지 않습니다.

제한

마이크로서비스는 완전 무료입니다. 마이크로서비스 설정을 변경할 때마다 동일한 마이크로서비스 주소를 지정하면 여러 커뮤니티를 연결할 수 있습니다. 확인 코드. 즉, 알림을 받을 그룹을 무제한으로 연결할 수 있습니다.

동시에 이제 필터링이 없습니다. 즉, VK에 표시하는 모든 내용이 푸시 알림으로 제공됩니다. 다음에서는 이를 다음과 같이 지칭합니다.

  • 가능하게하다 JSON 전송즉, AdminVK를 프록시로 사용하고, 알림을 받고, 요청을 분석 수집 스크립트나 다른 곳에 전달할 수 있습니다.
  • 신뢰할 수 있는 사용자 ID와 알림을 받아야 하는 사용자 ID를 지정할 수 있도록 합니다. 저것들. 관리자로서 귀하의 푸시 알림을 중재자에게 공유할 수 있습니다.
  • 단어로 필터링합니다. 예를 들어, 모든 푸시 알림을 받는 것은 아니지만 특정 브랜드의 이름이 포함된 알림만 받을 수 있습니다. 한편으로는 브랜드를 언급하는 것이 금지 이유는 아니지만 상황에 따라 다릅니다.
  • 중재자 간 알림 배포, 즉 두 번째 점을 기준으로 균등하게 분배하는 것이 가능합니다. 수신 알림사람들의 부담을 줄이기 위해

이것이 왜 필요한가요?

본질적으로 이는 "개념 증명"입니다. 즉, 이 마이크로서비스는 PushAll의 기능이 알림과 관련된 소규모 서비스에 어떻게 사용될 수 있는지 보여주기 위해 만들어졌습니다. 예를 들어, 기본적으로 표준 PushAll API를 사용하면서 첫 번째 알파 형태로 작업 준비를 완료하기 위해 전체 마이크로서비스를 작성하는 데 약 1시간이 걸렸으며 누구나 다양한 사용자에게 알림을 보낼 수 있는 자신만의 마이크로서비스를 작성할 수도 있습니다. 다양한 플랫폼에서 이벤트를 진행합니다.

이것은 우리가 나중에 수행하게 될 많은 마이크로서비스 중 첫 번째 마이크로서비스일 뿐입니다.

VK 커뮤니티의 이벤트 추적 서비스

VK의 콜백 API를 통해 작동하며 댓글 추적, 커뮤니티 DM의 메시지, 커뮤니티 담벼락의 게시물 등 거의 유사한 기능을 갖는 서비스입니다.

1. 콜백 API 봇 https://vk.com/cbbot. 나는 약 6 개월 동안 그것을 사용하고 있습니다. 봇은 안정적이며 관리자를 연결하는 기능이 있습니다. 단점은 커뮤니티가 많으면 모든 알림이 동일한 PM으로 종료된다는 것입니다.

2. 중재자 - https://vk.com/app5474492. 응용 프로그램은 모든 이벤트를 유형별로 편리하게 정렬하며 설정이 있습니다. 다른 유형이벤트 알림, 관리자 연결 기능. 기능면에서 이것은 사용 가능한 최고의 응용 프로그램입니다. 단점은 섹시 서비스와 개발팀이 동일하다는 점이다. 사용자 모르게 또는 동의 없이 사용자의 계정을 사용하여 시장 진입을 시작한 사람. 따라서 커뮤니티의 DM에서 액세스 권한을 부여하는 것은 개인적으로 다소 두려운 일입니다.

3. pushall.ru - 포괄적인 알림 서비스입니다. VK도 있습니다. 이메일 및 전보를 통한 알림, PC, Android 및 iOS 애플리케이션의 브라우저에 알림이 있습니다. 모든 것이 힙이지만 메일 및 텔레그램 봇의 규칙을 사용하여 원하는 방식으로 정렬할 수 있습니다. 이 서비스의 독특한 기능 중 하나는 VK에서 받은 응답을 다른 서버로 전달할 수 있다는 것입니다. 저것들. 콜백 API를 사용하는 여러 애플리케이션을 연결할 수 있습니다. ~에 무료 이용 2개의 서버만 연결할 수 있습니다.

서비스 지원 - 작동하고 업데이트되지만 서비스 뉴스에 따르면 업데이트 속도가 명시된 것과 일치하지 않아 개발자의 열정이 약간 사라진 것 같습니다. 개발자에 따르면 그들은 단순히 서비스의 다른 기능에만 집중했습니다.

4. https://vk.com/callback_api_lite- 이 서비스는 원버튼 커뮤니티 연결이 있다는 점에서 주목할 만합니다. 커뮤니티의 모든 서버 설정은 귀하를 위해 이루어집니다. 또한 각 커뮤니티의 알림은 이 커뮤니티의 DM을 통해 별도로 귀하에게 전송됩니다. 저것들. 귀하는 개인 계정에서 커뮤니티와 여러 채팅을 할 수 있으며, 여기에서 알림을 받게 됩니다. 이 두 가지 기능은 콜백 API를 연결하는 것만으로도 모두가 목을 매고 싶어할 때 여러 커뮤니티 소유자에게 서비스를 편리하게 만듭니다. 사실, 메시지를 보낼 수 있는 권한을 부여하려면 각 커뮤니티의 DM에 별도로 최소 1개의 메시지를 보내야 합니다. 서비스 지원 및 개선은 매우 적극적이고 신속하게 수행됩니다. 개선은 1~2일 이내에 이루어집니다. 그러나 서비스가 무료라고 명시되어 있으므로 멋진 기능이 계획되어 있지 않습니다.

단점 중: 1) 커뮤니티를 처음 서비스에 들어간 하나의 계정에 연결합니다. 관리자 연결이 불가능합니다. 2) 버튼 하나로 연결하면 서비스에서 커뮤니티 관리에 접근할 수 있습니다. 3) 커뮤니티 게시물이 필요합니다. 현재 내 프로젝트 중 하나를 진행하는 커뮤니티는 63개이며, 이러한 커뮤니티에는 거의 매일 DM에 스팸이 넘쳐납니다. 항상 한꺼번에 그리고 대부분 늦은 저녁 시간에 작업이 이미 중단되었지만 알림은 오지 않습니다. 아직 꺼졌습니다. PM에서 스팸에 응답하지 않음 = 클라이언트에게 표시되는 응답 시간이 늘어납니다. LAN 닫기 = 모든 커뮤니티를 다른 서비스에 다시 연결합니다. 모든 것을 그대로 두십시오 = 옷걸이.

5. 가마윤 : https://gmun.pro. 커뮤니티는 한 번의 클릭으로 연결되지만 어떤 경우에는 첫 번째 시도에서 연결되지 않습니다. "커뮤니티 토큰 없음" 오류가 표시됩니다. 모든 알림은 다음에 속합니다. 개인 영역한 더미의 서비스에서. 유일한 서비스인 csv에 대한 통계 업로드가 있지만 모든 커뮤니티에 대한 모든 것이 한 더미에 있습니다. 텔레그램도 있고 이메일 알림. 콜백 API와 마찬가지로 이 서비스는 알림뿐만 아니라 전체 커뮤니티 관리에 대한 액세스를 제공합니다.

6. http://vk-notify.ru. 자신만의 서비스를 작성하고 싶은 사람 - 여기에 최고의 서비스가 있습니다. 사용자 친화적 인 인터페이스경고를 표시합니다. 아쉽게도 서비스가 종료된 것 같습니다. 어떤 경우에도 알림이 오지 않습니다. 서비스가 지원되는지 여부는 알 수 없습니다.

안녕하세요, 블로그 독자 여러분. 오늘의 글을 바치고 싶습니다. API 수신 VKontakte의 ID 번호. 어쩌면 누군가가 질문할 것입니다. 왜 우리에게 그것이 필요하며 블로그에 어떻게 유용한가요?

오늘 글의 계획은 거창하지 않습니다.

블로그에 API ID가 필요한 이유는 무엇입니까?

그것을 얻는 방법?

WordPress의 VKontakte 블로그에 API ID가 필요한 이유는 무엇입니까?

API ID 번호가 필요할 수 있습니다. 소셜 플러그인. VKontakte 버튼과 위젯을 통해 좋아요와 댓글을 남기는 사람들은 VK.COM이 등록된 사용자가 댓글이나 좋아요를 남긴 사이트를 알 수 있도록 서버에 접속해야 합니다.

이 번호는 사람들이 데이터를 입력할 필요가 없도록 하기 위해 필요합니다. 하지만 이 문제의 기초는 WordPress를 실행하는 사이트의 소셜 플러그인 작업입니다.

그것을 얻는 방법?

이제 우리는 중요한 것에 도달했습니다. VKontakte에서 API ID를 얻는 방법은 무엇입니까?

이렇게하려면 다음으로 가야합니다. 개발자 섹션, 그런 다음 애플리케이션 생성을 클릭하고 나타나는 창에서 웹 사이트 탭을 선택한 다음 애플리케이션 이름, 사이트 주소 및 기본 도메인도 입력합니다.

주소는 http://mysite.ru입니다.

기본 도메인 - mysite.ru

mysite - 귀하의 웹사이트 주소



전화번호를 확인한 후 애플리케이션 정보가 있는 페이지로 이동하게 됩니다. 설정 탭을 클릭하면 VKontakte API ID가 있는 페이지로 이동됩니다.


건강을 위해 즐겨보세요. 나는 당신이 그것을 스스로 얻었기를 바랍니다. 유용한 정보. 사랑하는 독자 여러분, 곧 뵙겠습니다.

새로운 기사를 놓치지 않도록 블로그 업데이트를 구독하세요.

감사합니다. S. Vasiliev

콜백 API를 사용하여 작성하겠습니다(커뮤니티의 각 작업을 별도로 서버에 보냅니다). 그러므로 이 역시 구성되어야 합니다. 가자
“커뮤니티 관리” → “API 작업”. 봇이 작동하려면 액세스 키를 등록해야 합니다. "키 만들기"를 클릭하고 선택하세요. 필요한 권리액세스하려면 이 봇에는 메시지 권한만 필요합니다. 전화번호를 확인하고 액세스 키를 어딘가에 저장합니다. 이제 콜백 API 탭으로 이동합니다. 서버 이름을 입력하고 선택하십시오. 최신 버전 API(현재 버전은 5.80이며 아래 제시된 봇은 100% 작동합니다). '요청 유형' 탭에서 수신 메시지만 선택하세요.

서버 튜닝

이제 봇을 호스팅할 서버가 필요합니다. 당신이 사용할 수있는 무료 호스팅, 예를 들어 000webhost.

저렴한/무료 호스팅을 사용하는 경우 cURL이 비활성화될 가능성이 높으며(봇을 사용하여 미디어 파일을 보낼 수 없으며 텍스트만 보낼 수 있음) 활성화할 수 없습니다. 000webhost라면 괜찮으니 사용해도 됩니다. 자체 서버가 있거나 좋은 서버를 구입한 경우 cURL을 연결해야 합니다. 본격적인 작업우리 예의 봇.

콜백 API 및 키보드 작동 방식

모든 것이 어떻게 작동하는지 간략하게 살펴보겠습니다. 콜백 API는 그룹에서 발생하는 모든 이벤트를 JSON 형식으로 서버에 보냅니다. 전체 목록이벤트는 “콜백 API” → “이벤트 유형” 탭에서 확인할 수 있습니다. 사용자가 메시지를 보낼 때 JSON 요청은 다음과 같습니다. 이 경우그는 버튼을 눌렀다:

("type":"message_new","object":("date":1529668584,"from_id":89846036,"id":1522,"out":1,"peer_id":89846036,"text":"Gold fish","conversation_message_id":305,"fwd_messages":,"important":false,"random_id":0,"attachments":,"payload":"(\"animals\":\"Goldfish\")" ,"is_hidden":false),"group_id":101461081)

( "type" : "message_new" , "object" : ( "date" : 1529668584 , "from_id" : 89846036 , "id" : 1522 , "out" : 1 , "peer_id" : 89846036 , "text" : "Golden fish" , "conversation_message_id" : 305 , "fwd_messages" : , "important" : false , "random_id" : 0 , "attachments" : , "payload" : "(\"animals\":\"Goldfish\")" , "is_hidden" : false ) , "group_id" : 101461081 )

처리할 수 있는 몇 가지 흥미로운 필드가 있습니다: 사용자 ID, 메시지 텍스트(텍스트), 유효 탑재량버튼(페이로드).

메시지는 메소드를 사용하여 사용자에게 전송됩니다. 메시지.전송. 키보드를 보내면 결국 표준 매개변수버튼의 json을 포함하는 키보드 매개변수를 추가하면 다음과 같습니다.

키보드: ( "one_time": false, "buttons": [ [( "action": ( "type": "text", "payload": "(\"button\": \"1\")", " label": "빨간색", "color": "부정적" ), ( "action": ( "type": "text", "payload": "(\"button\": \"2\)" , " label": "녹색"), "color": "양성" )]

키보드: (

"one_time": 거짓,

"버튼": [

"행동" :(

"유형": "텍스트" ,

"페이로드": "(\"버튼\": \"1\")" ,

"라벨": "빨간색"

"색상": "네거티브"

"행동" :(

"유형": "텍스트" ,

"페이로드": "(\"버튼\": \"2\")" ,

"라벨": "녹색"

"색상": "양성"

도서관에서 일하기

봇을 작동하기 위해 우리는 PHP에서 자체 작성된 라이브러리를 사용합니다. (링크가 작동하지 않으면 여기에 아카이브가 있습니다.) 라이브러리에 대한 문서를 찾고 라이브러리 자체를 다운로드할 수 있습니다. 다음은 봇 작성을 위해 미리 만들어진 기능의 간단한 목록입니다. 자세한 내용은 위 링크를 참조하세요. 도서관의 변경 사항에 대해 알고 싶으시면 저희에게 메시지를 하나 이상 적어주세요. VK의 봇, 이를 통해 변경사항을 알려드리겠습니다.

$vk = new vk_api(vk_key, version_api) — 봇 초기화. 매개변수: 커뮤니티 키(vk_key), API 버전(version_api).

sendMessage(id, text) - 사용자에게 메시지를 보내는 함수입니다. 매개변수: 사용자 ID(id), 메시지 텍스트(text).

sendImage(id, patch) - 이미지를 전송하는 함수입니다. 매개변수: 사용자 ID(id), 이미지 경로(패치).

sendButton(id, text,button, one_time) - 버튼을 사용하여 메시지를 보내는 함수입니다. 매개변수: 사용자 ID(id), 메시지 텍스트(비워둘 수 없음)(text), 버튼이 있는 배열(buttons), not 필수 매개변수 one_time, 기본적으로 false, true로 설정되면 아무 버튼이나 누르면 키보드가 사라집니다.

요청(메서드, 배열_인수) — 범용 기능메소드 작업. 매개변수: method - 공식 API의 메소드 이름, array_arguments - 매개변수 배열.

sendOK() — 베타 함수입니다. echo "ok" 대신 사용하면 스크립트를 실행하는 데 시간이 오래 걸리고 봇이 메시지를 여러 번 반복하기 시작하는 경우에 도움이 됩니다.
중요: 이 기능을 사용하면 오류 출력이 표시되지 않습니다. 디버깅할 때 echo “ok”로 바꾸세요.

PHP의 전체 봇 코드

이제 거의 모든 줄에 주석이 달린 코드 자체로 넘어가겠습니다.
이 코드는 PHP 5.6 이상에서 지원됩니다.
CONFIG 블록에서 커뮤니티 액세스 키, 서버 확인 키 및 선택한 API 버전을 지정합니다.

전체 코드

"물고기"], "어떤 종류가 있나요?", "파란색"]; //"물고기" 버튼의 코드 const BTN_BACK = [["command" => "start"], "<< Назад", "red"]; // Код кнопки "<< Назад" const BTN_SALMON = [["animals" =>"핑크_연어"], "핑크연어", "화이트"]; // "Pink Salmon" 버튼에 대한 코드 const BTN_GOLDFISH = [["animals" => "Goldfish"], "Goldfish", "blue"]; // "Goldfish" 버튼에 대한 코드 const BTN_PLOTVA = [["animals" => "Plotva"], "Roach", "green"]; // "Roach" 버튼에 대한 코드 $vk = new vk_api(VK_KEY, VERSION); // API 작업을 위한 클래스 인스턴스를 생성하고 API 키와 버전을 허용합니다. $data = json_decode(file_get_contents("php://input")); //VK에서 온 JSON을 수신하고 디코딩합니다. if ($data->type == "confirmation") ( //vk가 키를 요청하는 경우 종료(ACCESS_KEY); //키를 전송하여 스크립트 완료) $vk-> 보내기확인(); //vk에게 콜백을 수락했다고 알립니다. if (isset($data->type) and $data->type == "message_new") ( //이 메시지가 사용자 $id = $data->object에서 온 것인지 확인하세요. - >from_id; //메시지를 작성한 사용자의 ID를 가져옵니다. $message = $data->object->text; if (isset($data->object->peer_id)) $peer_id = $data->object ->peer_id; // 메시지가 전송된 채팅의 Peer_id를 가져옵니다. $peer_id = $id; if (isset($data->object->payload))( //페이로드 가져오기 $payload = json_decode($ data->object->payload, True ); ) else ( $payload = null; ) if (isset($payload["command"]) 또는 mb_strtolower($message) == "start") ( //시작 버튼을 누르거나<< назад $vk->sendButton($peer_id, "물고기를 보시겠습니까?", []); //사용자에게 버튼 보내기 ) else ( if ($payload != null) ( // 페이로드가 존재하는 경우 switch ($payload["animals"]) ( //페이로드 버튼에 무엇이 있는지 확인합니다. case "Fish": //이것이 Fish인 경우 $vk->sendButton($peer_id, "이것은 당신이 선택한 것입니다.", [ //사용자에게 버튼 보내기, ]) break; //이것이 Pink Salmon인 경우 $vk->sendMessage($peer_id, "핑크 연어를 지켜주세요!"); //메시지 보내기 $vk->sendImage($peer_id, "img/pink_salmon.jpg") //사진 보내기 case " Goldfish": //금붕어인 경우 $vk->sendMessage( $peer_id, "그녀는 당신의 소원을 들어줄 것입니다..."); $vk->sendImage($peer_id, "img/goldfish.jpg"); break ; case "Plotva": //Roach인 경우 $vk->sendMessage( $peer_id, "아, 사진이 뒤섞인 것 같네요.") $vk->sendImage($peer_id, "img/plotva. jpg"); 중단;

"vk_api.php"를 포함합니다; //api vk와 작동하도록 라이브러리를 연결합니다.

//************구성**************

const VK_KEY = "your_key" ; //가장 긴 커뮤니티 액세스 키

const ACCESS_KEY = "your_key" ; //예를 들어 c40b9566을 입력합니다.

const 버전 = "5.80" ; //사용된 API 버전

//******************************

const BTN_FISH = [ [ "animals" => "Fish" ] , "무엇이 있나요?" , "파란색" ] ; //버튼 코드 "물고기"

const BTN_BACK = [ [ "명령" => "시작" ] , "<< Назад" , "red" ] ; // 버튼 코드 "<< Назад"

const BTN_SALMON = [ [ "animals" => "Pink_salmon" ] , "핑크 연어" , "white" ] ; // "핑크 연어" 버튼에 대한 코드

const BTN_GOLDFISH = [ [ "animals" => "금붕어" ] , "금붕어" , "파란색" ] ; // "금붕어" 버튼에 대한 코드

const BTN_PLOTVA = [ [ "동물" => "바퀴벌레" ] , "바퀴벌레" , "녹색" ] ; // "Roach" 버튼에 대한 코드

$vk = 새 vk_api(VK_KEY, 버전) ; // API 작업을 위한 클래스 인스턴스를 생성하고 API 키와 버전을 허용합니다.

$data = json_decode (file_get_contents ( "php://input" ) ) ; //VK로부터 받은 JSON을 수신하고 디코딩합니다.

if ($data -> type == "확인" ) ( //vk가 키를 요청하는 경우

종료(ACCESS_KEY); //키를 전송하여 스크립트를 완료합니다.

$vk -> 보내기확인() ; //vk에게 콜백을 수락했다고 알립니다.

if (isset ($data -> type ) 및 $data -> type == "message_new" ) ( //사용자가 보낸 메시지인지 확인

$id = $data -> 객체 -> from_id ; //메시지를 작성한 사용자의 ID를 가져옵니다.

$message = $data -> 객체 -> 텍스트 ;

if (isset ($data -> 객체 -> 피어_ID ) )

$peer_id = $data -> 객체 -> Peer_id ; // 메시지가 전송된 채팅의 Peer_id를 가져옵니다.

또 다른

$peer_id = $id ;

if (isset ($data -> 객체 -> 페이로드 ) ) ( //페이로드 가져오기

$payload = json_decode ($data -> 객체 -> 페이로드, True) ;

) 또 다른 (

$페이로드 = null ;

if (isset ($payload [ "command" ] ) 또는 mb_strtolower ($message ) == "start" ) ( //시작버튼을 누르거나<< назад



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: