Php api vk примеры

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

vk.api / README_RU.md

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Cannot retrieve contributors at this time
184 lines (121 sloc) 6.4 KB

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents Copy raw contents

Copy raw contents

Vkontakte Api for PHP

Работа с API Вконтакте для StandAlone приложений на языке php.

Для работы с api вам необходимо выполнить несколько действий:

  1. Создать «Standalone-приложение»https://vk.com/editapp?act=create
  2. Получить access_token (об этом ниже)
  3. Классу нужно передать client_id приложения и секретный ключ который вам даётся при создании приложения

composer require fdcore/vk.api
include ‘vendor/autoload.php’; $v = new Vk(); ?>
include ‘vk.php’; $v = new Vk(); ?>

Выполним метод get_code_token для получения ссылки которая вернёт нам code

Уроки PHP / Подключение к API VK


include_once ‘vk.php’; $v = new Vk(array( ‘client_id’ => 12345, // (обязательно) номер приложения ‘secret_key’ => ‘XXXXXX’, // (обязательно) получить тут https://vk.com/editapp?id=12345 12345, // ваш номер пользователя в вк ‘scope’ => ‘wall’, // права доступа ‘v’ => ‘5.35’ // не обязательно )); $url = $v->get_code_token(); echo $url;

Переменная $url будет содержать ссылку при переходе на которую вас попросят авторизоваться и предоставить права приложению, после чего вас перекинут на пустую страницу и в URL будет access_token=нужный код.

. Для работы с другого IP адреса (например с сервера) вам нужен вариант авторизации (2) Authorization code flow.

if(!isset($_GET[‘code’])) < $url = $v->get_code_token(‘code’); header(«Location: $url»); > else < $access_token = $v->get_access_token($_GET[‘code’]); >

Для выполнения определённых Api вам необходимы на это права, для этого при создании токена нужно указать нужные scope.

Для того чтобы получить необходимые права во время авторизации, при открытии окна авторизации нужно передать параметр scope, содержащий названия необходимых ему прав, разделённых пробелом или запятой.

$config[‘secret_key’] = ‘ваш секретный ключ приложения’; $config[‘client_id’] = 12345; // номер приложения $config[‘user_id’] = 12345; // id текущего пользователя (не обязательно) $config[‘access_token’] = ‘ваш токен доступа’; $config[‘scope’] = ‘wall,photos,video’; // права доступа к методам (для генерации токена) $v = new Vk($config); // пример публикации сообщения на стене пользователя // значения массива соответствуют значениям в Api https://vk.com/dev/wall.post $response = $v->api(‘wall.post’, array( ‘message’ => ‘I testing API form https://github.com/fdcore/vk.api’ )); // или $response = $v->wall->post(array( ‘message’ => ‘I testing API form https://github.com/fdcore/vk.api’ ));

Универсальный метод, который позволяет запускать последовательность других методов, сохраняя и фильтруя промежуточные результаты.

Еще по теме:  Как зайти Вконтакте через кнопочный телефон

API для начинающих. Пример VK. [1/5]


$v->execute(‘return API.wall.post();’));

Для заливки файлов в данный момент есть 3 метода:

  • Загрузка видеозаписей $v->upload_video()
  • Загрузка фотографий на стену пользователя $v->upload_photo()
  • Загрузка документов $v->upload_doc()

Пример загрузки фото

Для загрузки фотографии, существует метод upload_photo().

  • $gid — (стандартно 0) идентификатор сообщества, на стену которого нужно загрузить фото (без знака «минус»). (целое число)
  • $files — массив путей к файлам (например array(‘4b67bhWrc4g.jpg’, ‘n52W2BdXdYE.jpg’))
  • $return_ids — (стандартно false) возвращать id файлов или готовые строки для прикрепления (например photo12345_6789)

// загрузка фото на сервер $attachments = $v->upload_photo(0, array(‘4b67bhWrc4g.jpg’, ‘n52W2BdXdYE.jpg’)); // публикация на стене $response = $v->wall->post(array( ‘message’=>’я публикую фотографии’, ‘attachments’ => implode(‘,’, $attachments) ) );

Пример загрузки видео

// встраивание видео с YouTube без заливки $attach_video = $v->upload_video(array( ‘link’=>’https://youtu.be/exAmqVtYbis’, ‘title’ => ‘Hatsune Miku Project Diva 2nd Opening Full HD’, ‘description’ => «First Song: «Kocchi Muite baby» by ryo and kz», ‘wallpost’ => 1 )); // заливка видео на VK.com $attach_name = $v->upload_video( array(‘name’ => ‘Test video’, ‘description’ => ‘My description’, ‘wallpost’ => 1, ‘group_id’ => 0 ), ‘video.mp4’);

Пример загрузки документа

$attach_doc_file = $v->upload_doc(0, ‘iZKE4JdP4Q0mT.jpg’); if ( is_string($attach_doc_file) ) echo $attach_doc_file;

Источник: github.com

Подключение и работа с vk api

vk api

Социальные сети стали неотъемлемым инструментом продвижения сайтов. Для раскрутку сайта через соц. сети следует создать группу или страничку данного сайта. Набирать подписчиков, выкладывать новости на стену и много чего ещё (это тема отдельной заметки). Многие эти процессы можно автоматизировать используя API (интерфейс прикладного программирования) соответствующей социальной сети. В этой заметке я разберу как подключиться к vk api (вконтакте), как начать работать c вк апи, а так же приведу несколько примеров работы с api вконтакте.

Создание приложения вконтакте

И так приступим. Vk api имеет много методов, но одним из основных их различий является то, что для выполнения запросов к вк апи через некоторые методы требуется специальный ключ доступа — токен (access_token). Получить его можно создав своё приложение. Нам предлагают несколько видов приложений, но я выбираю тип Standalone. Мне его хватает.

Для начала создания приложения переходим по ссылке и попадаем в следующее окно.

vk api

Здесь мы выбираем тип и название нашего приложения. Нажимаем подключить приложение и получаем на номер телефона, привязанному к аккаунту вк из которого мы создаём приложение, смс с кодом. Вводим его и переходим в следующее окно. В этом окне переходим в вкладку настройки.

vk api

В вкладке настройки мы видим поля с названием ID приложения и защитный ключ. Записываем куда нибудь эти данные. Больше ничего в вкладках я не делал. Состояние приложения оставил в положении отключено. Жмём сохранить настройки.

Всё, мы создали приложение вконтакте.

Получение токена (access_token) api вк

Что бы получить токен нам нужно создать ссылку определённого типа. С помощью этой ссылки мы отправим запрос серверу вк апи, в ответе сервера мы получим нужный нам токен (access_token). Синтаксис построения ссылки.

Еще по теме:  Почему Вконтакте нет музыки

https://oauth.vk.com/authorize?client_id=[ID приложения]redirect_uri=https://oauth.vk.com/blank.htmlresponse_type=token

ну а теперь несколько примеров работы с апи vk

$userid=12345; $mytoken=56789; /*вернёт объект с значениями пола и дня рождения пользователя*/ $request_params = array( ‘user_id’ => $userid, ‘fields’ => ‘sex’, ‘fields’ => ‘bdate’ ); $get_params = http_build_query($request_params); $result = json_decode(file_get_contents(‘https://api.vk.com/method/users.get?’. $get_params)); /*проверка пользователя на бан вк*/ $request_params = array( ‘user_id’ => $user_id, ‘fields’ => ‘deactivated’ ); $get_params = http_build_query($request_params); $result = json_decode(file_get_contents(‘https://api.vk.com/method/users.get?’. $get_params)); if(isset($result->response[0]->deactivated)) < echo «Страница заморожена или удалена»; >/*отправим сообщение пользователю с user_id=222222*/ $mesage=’Привет, как дела?’; //кодируем строку $msg=urlencode($mesage); $result = json_decode(file_get_contents(‘https://api.vkontakte.ru/method/ messages.send?user_id=222222access_token=’.$mytoken)); /*приглосим в друзья пользователя с user_id=222222*/ $mesage=’Давайте дружить’; $msg=urlencode($mesage); $result=json_decode(file_get_contents(‘https://api.vkontakte.ru/ method/friends.adduser_id=222222access_token=’.$mytoken));

Методов у апи много, так что советую читать документацию. Конечно запросы не всегда выполняются правильно и возвращают коды ошибок. Ошибки можно посмотреть здесь . Так что вот так вот просто можно подключиться к api vk и автоматизировать свои действия в контакте.

Источник: aweb34.ru

Как работать с API ВКонтакте

Как работать с API ВКонтакте

У меня часто спрашивают, как работать с API. Наиболее, популярной задачей, связанной с API, является — работа с API ВКонтакте. В данной статье я покажу, как работать с API ВКонтакте, а, главное, покажу Вам, что все API работают по единому принципу.

Вот порядок действий, который Вам необходимо сделать, чтобы начать работать с любым API:

  1. Найти документацию по нужному API.
  2. Посмотреть примеры подключения к API. Тут могут быть разные варианты. Например, на одном сервисе потребуют секретный ключ, выдаваемый после регистрации. На втором сервисе, все запросы не требуют секретных ключей. На третьем сервисе, есть и с секретным ключом, и без варианты работы. Иногда, секретный ключ называют токеном.
  3. Скопировать простой готовый код с сайта документации и проверить его работу. Если не работает, то ищите ошибку у себя, так как едва ли она будет у сервиса.
  4. Найти в документации метод, который решает Вашу задачу.
  5. Используя примеры и описание метода, отправить правильный запрос к API.
  6. В зависимости от формата ответа, разобрать его на «составные части», а дальше уже делать то, что требуется — вывести пользователю, сохранить в файл, отправить в базу данных и тому подобное.

А в качестве примера следования данной инструкции мы разберём API ВКонтакте. Итак:

  1. Ссылка на документацию.
  2. В данном случае есть методы, которые общедоступны, а потому не требуют токена, а есть методы, требующие его.
  3. В данном случае, примеров на конкретном языке я не нашёл. Возможно, они есть, но явно не на виду. Обычно же, у API для каждого метода есть примеры на разных языках.
  4. Мы хотим вывести 5 последних записей со стены конкретного пользователя, а затем вывести их у себя на сайте. Нужный нам метод тут.
Еще по теме:  Какой браузер лучше всего работает с Вконтакте

Теперь мы должны отправить запрос к API, используя описание метода. Делать мы это будем через PHP:

В данном случае, я использую API 5.3 (v=5.3), вывожу все записи независимо от автора (filter=others) со своей страницы (domain=myrusakov) в количестве 5 штук (count=5). Думаю, что здесь всё очень прозрачно.

Мы получили ответ в формате JSON, и теперь нам нужно перейти к последнему пункту — разобрать ответ на «составные части». Дальше мы с Вами выведем записи со стены в более-менее читабельном виде на странице нашего сайта. Результирующий PHP-код:

$wall = file_get_contents(«http://api.vk.com/method/wall.get?v=5.3domain=myrusakov); // Отправляем запрос
$wall = json_decode($wall); // Преобразуем JSON-строку в массив
$wall = $wall->response->items; // Получаем массив комментариев
for ($i = 0; $i < count($wall); $i++) echo «

«.($i + 1).». «.$wall[$i]->text.»
«.date(«Y-m-d H:i:s», $wall[$i]->date).»

«; // Выводим записи
>
?>

Как видите, всё очень просто. Самая сложная часть — разобрать на составные элементы. Я предпочитаю выводить результат от API через print_r, а уже затем писать обработку этого. Хотя можно посмотреть пример ответа в описании метода, а дальше уже написать парсер.

Вот так происходит работа с API ВКонтакте, и абсолютно аналогично она происходит с любым другим API.

Создано 22.11.2013 13:18:53

  • Михаил Русаков
  • Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 7 ):

    rysich 12.12.2013 00:04:25

    Остаётся только добавить, что если у кого-то не работает, обновите версию php, а то обработка json вроде бы есть только в 5.3 и выше.

    almazik2015 23.02.2014 01:05:06

    Спасибо) Появилась хорошая идея благодаря вашей статье!

    Вшьф1501 09.11.2014 18:25:29

    Все на странице выводится нормально, а это в виде «іРё РіСѓ». Есть какое-нибудь решение?

    prdie 04.11.2015 21:31:52

    добавьте в штекер AddCharsetDefault UTF-8

    shmel010201 19.01.2017 21:12:24

    Добавьте в файл htaccess следующее: AddDefaultCharset UTF-8

    Михаил18 15.02.2015 00:49:34

    Данные на сервер приходят в неправильной кодировке, как это можно исправить?

    VitStar 20.06.2016 13:30:03

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Источник: myrusakov.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...