Open api vk как подключить

Здарова.
Вот решил этим занятся, а с чего начать незнаю. Везде где искал подобные темы шлют на страницу девелоперов и т.п. документции разгребать, которые Я давно разгребаю но как и с чего начать так и непонял.
Вот нашел только работающий код который сообщает вкИД:

VK.init(< apiId: 3065693 >); function authInfo(response) < if (response.session) < alert(‘user: ‘+response.session.mid); >else < alert(‘not auth’); >> VK.Auth.getLoginStatus(authInfo); VK.UI.button(‘login_button’);

Да, с получением authInfo понятно, но как мне достать, к примеру, список фотоальбомов в json и распарсить? Читал нужно получить права, а как их получить? Обычно в подобного рода ситуациях в приложениях всплывает окно мол разрешить доступ и т.д. но как его вызвать и что с ним делать — хз.

В общем, очень нужна помощь в этом начинании, буду признателен любой полезной инфе

07.08.2012, 23:18
Регистрация: 28.03.2011
Сообщений: 5,418

Этот вопрос Вы должны были задавать не на форуме, а в их группе.

Получение токена пользователя в VK вконтакте для работы с API

Там бы и разжевали, может быть.

Ну, раз уж спросили, я попробую ответить

Подключение Open API

Для подключения Вашего сайта к платформе Open API, необходимо выполнить следующие действия:

Необходимо создать новое или взять уже созданное приложение.
На странице редактирования настроек приложения заполнить необходимые поля Open API:
Open API URL – адрес сайта, к которому Вы планируте подключить Open API (например http://durov.at/)
Базовый домен – базовый домен Вашего сайта (например, durov.at)

Инициализация

VK.init(< apiId: ВАШ_API_ID >);

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

ВКонтакте — Подключение Open API — Joomla 1.5: Установка и обновление

Модуль для быстрого вывода ссылок на категории материалов, Virtuemart, JoomShopping, Phoca Cart, пункт меню или пользовательскую ссылку. Модуль позволяет создавать быстрые наборы ссылок на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.

ProofReader — компонент отправки опечаток читателями администрации сайта.

Расширение для Joomla позволяет посетителям сайта сообщать администратору об опечатках на сайте. Посетитель может выделить текст мышью и нажать комбинацию клавиш Ctrl+Enter, чтобы отправить сообщение администратору сайта. После этого отображается всплывающее окно, и пользователь может написать комментарий об опечатке. Отчет об опечатке будет доступен в панели администратора, а администратору будет отправлено уведомление по электронной почте.

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

JoomlaDay USA. Бесплатный повтор части выступлений.

На днях в США состоялся JoomlaDay USA. Участники сообщества решили сделать повторнекоторых выступлений бесплатно в формате Zoom-стрима.

Еще по теме:  Сова н когда не спит ВК

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

Использование VK Payments API в IFrame-приложениях

Использование VK Payments API в IFrame-приложениях

2015-02-07 в 15:35, admin , рубрики: Песочница, метки: iframe, jquery, PHP, vk payments api

Использование VK Payments API в IFrame-приложениях - 1

В данной статье будет рассмотрен пример создания простого IFrame-приложения с использованием VK Payments API.

Для нормальной работы потребуется сервер, а также домен с подключенным SSL-сертификатом.

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

Для начала нужно перейти в раздел для разработчиков и нажать на кнопку «Создать приложение».

Использование VK Payments API в IFrame-приложениях - 2

Далее придумываем название для приложения и выбираем его тип «IFrame/Flash приложение».
Остальные поля заполняем на свое усмотрение.

Использование VK Payments API в IFrame-приложениях - 3

После нажатия кнопки «Перейти к загрузке приложения», нам предложат подтвердить свои действия. Подтверждаем.

Использование VK Payments API в IFrame-приложениях - 4

После подтверждения, попадаем на страницу «Редактирование приложения», на которой мы и будем настраивать наше приложение.

Использование VK Payments API в IFrame-приложениях - 5

В левом меню выбираем раздел «Настройки».
На этой странице достаточно будет выбрать «Тип приложения: IFrame» и ввести адрес сайта на котором будет размещено наше IFrame-приложение. Сохраняем изменения.

Использование VK Payments API в IFrame-приложениях - 6

В левом меню выбираем раздел «Платежи».
Вписываем «Адрес обратного вызова» и в «Тестеры платежей» выбираем себя. Сохраняем изменения.

Использование VK Payments API в IFrame-приложениях - 7

«Тестовый режим позволяет тестировать функциональность покупки товаров и перевода голосов в приложениях без реальной передачи голосов».

Для работы Payments API этих настроек будет достаточно. Теперь можно переходить к следующему шагу.

Файлы и База данных

Создаем такие файлы на сервере:

index.php

prepare(‘INSERT INTO payments (users) VALUES («‘.$viewer_id.'»)’); $stmt->execute(); $pdo = null; ?> Payments API function order(coin) < var params = < type: ‘item’, item: ‘item_’+coin+’coin’ >; VK.callMethod(‘showOrderBox’, params); var callbacksResults = document.getElementById(‘callbacks’); VK.addCallback(‘onOrderSuccess’, function(order_id) < callbacksResults.innerHTML = ‘Платеж ‘+order_id+’ успешно завершен!’; var coin_1 = parseInt($(‘#coins’).text()); var coin_2 = parseInt(coin); var coin_3 = coin_1 + coin_2; $(‘#coins’).text(coin_3); >); VK.addCallback(‘onOrderFail’, function() < callbacksResults.innerHTML = ‘Платеж не был обработан!’; >); VK.addCallback(‘onOrderCancel’, function() < callbacksResults.innerHTML = ‘Платеж отменен!’; >); > function buy(coin) < if($(‘#coins’).text() == 0) < $(‘#callbacks’).text(‘Вы растратили все монеты!’); >else < $.ajax(< type: «POST», url: «buy.php», data: < «buy-1″:»», «buy-2»:coin > >); var coin_1 = parseInt($(‘#coins’).text()); var coin_2 = parseInt(coin); var coin_3 = coin_1 — coin_2; $(‘#coins’).text(coin_3); $(‘#callbacks’).text(‘Потрачено ‘+coin+’ монет!’); > > Получить 100 монет Получить 200 монет Получить 300 монет Получить 400 монет Получить 500 монет Получить 600 монет Получить 700 монет Получить 800 монет Получить 900 монет Получить 1000 монет Потратить 100 монет Потратить 200 монет Потратить 300 монет Потратить 400 монет Потратить 500 монет Потратить 600 монет Потратить 700 монет Потратить 800 монет Потратить 900 монет Потратить 1000 монет
styles.css

html, body < background: #EEF2F6; font: 14px Arial; margin: 0; padding: 0; >a < text-decoration: none; >#main < position: relative; width: 607px; height: 500px; >.header < background: #FFFFFF; box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1); height: 50px; line-height: 50px; padding: 0px 10px; >.left-link < display: block; width: 180px; height: 50px; line-height: 50px; color: #404C58; text-align: center; float: left; >.left-link:hover < background: #F7F9FA; >.right-link < display: block; width: 180px; height: 50px; line-height: 50px; color: #404C58; text-align: center; float: right; >.right-link:hover < background: #F7F9FA; >.coins < text-align: center; >#callbacks < background: #FFFFFF; box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1); text-align: center; margin: 10px 10px 0px 10px; padding: 10px; border-radius: 3px; >.left-block < background: #FFFFFF; box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1); width: 250px; margin: 10px; padding: 15px; float: left; border-radius: 3px; >.right-block < background: #FFFFFF; box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1); width: 250px; margin: 10px; padding: 15px; float: right; border-radius: 3px; >.title < font-size: 16px; padding-bottom: 10px; >.left-block a, .right-block a < color: #404C58; display: block; >.left-block a:hover, .right-block a:hover
output.php

Еще по теме:  Почему в ВК друзья меняются местами

prepare(‘SELECT * FROM payments WHERE users=»‘.$viewer_id.'»‘); $stmt->execute(); $data = $stmt->fetchAll(); $result = $data[0][‘coins’]; print_r($result); $pdo = null; ?>
buy.php
prepare(‘INSERT INTO payments (users, coins) VALUES («‘.$viewer_id.'», «‘.$coins.'») ON DUPLICATE KEY UPDATE coins=(coins-«‘.$coins.'»)’); $stmt->execute(); $pdo = null; ?>
vk_callback.php

$v) < $str .= $k.’=’.$v; >if ($sig != md5($str.$secret_key)) < $response[‘error’] = array( ‘error_code’ =>10, ‘error_msg’ => ‘Несовпадение вычисленной и переданной подписи запроса.’, ‘critical’ => true ); > else < // Подпись правильная switch ($input[‘notification_type’]) < case ‘get_item’: // Получение информации о товаре $item = $input[‘item’]; // наименование товара if ($item == ‘item_100coin’) < $response[‘response’] = array( ‘item_id’ =>100, ‘title’ => ‘100 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 1 ); > elseif ($item == ‘item_200coin’) < $response[‘response’] = array( ‘item_id’ =>200, ‘title’ => ‘200 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 2 ); > elseif ($item == ‘item_300coin’) < $response[‘response’] = array( ‘item_id’ =>300, ‘title’ => ‘300 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 3 ); > elseif ($item == ‘item_400coin’) < $response[‘response’] = array( ‘item_id’ =>400, ‘title’ => ‘400 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 4 ); > elseif ($item == ‘item_500coin’) < $response[‘response’] = array( ‘item_id’ =>500, ‘title’ => ‘500 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 5 ); > elseif ($item == ‘item_600coin’) < $response[‘response’] = array( ‘item_id’ =>600, ‘title’ => ‘600 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 6 ); > elseif ($item == ‘item_700coin’) < $response[‘response’] = array( ‘item_id’ =>700, ‘title’ => ‘700 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 7 ); > elseif ($item == ‘item_800coin’) < $response[‘response’] = array( ‘item_id’ =>800, ‘title’ => ‘800 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 8 ); > elseif ($item == ‘item_900coin’) < $response[‘response’] = array( ‘item_id’ =>900, ‘title’ => ‘900 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 9 ); > elseif ($item == ‘item_1000coin’) < $response[‘response’] = array( ‘item_id’ =>1000, ‘title’ => ‘1000 золотых монет’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 10 ); > else < $response[‘error’] = array( ‘error_code’ =>20, ‘error_msg’ => ‘Товара не существует.’, ‘critical’ => true ); > break; case ‘get_item_test’: // Получение информации о товаре в тестовом режиме $item = $input[‘item’]; if ($item == ‘item_100coin’) < $response[‘response’] = array( ‘item_id’ =>100, ‘title’ => ‘100 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 1 ); > elseif ($item == ‘item_200coin’) < $response[‘response’] = array( ‘item_id’ =>200, ‘title’ => ‘200 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 2 ); > elseif ($item == ‘item_300coin’) < $response[‘response’] = array( ‘item_id’ =>300, ‘title’ => ‘300 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 3 ); > elseif ($item == ‘item_400coin’) < $response[‘response’] = array( ‘item_id’ =>400, ‘title’ => ‘400 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 4 ); > elseif ($item == ‘item_500coin’) < $response[‘response’] = array( ‘item_id’ =>500, ‘title’ => ‘500 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 5 ); > elseif ($item == ‘item_600coin’) < $response[‘response’] = array( ‘item_id’ =>600, ‘title’ => ‘600 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 6 ); > elseif ($item == ‘item_700coin’) < $response[‘response’] = array( ‘item_id’ =>700, ‘title’ => ‘700 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 7 ); > elseif ($item == ‘item_800coin’) < $response[‘response’] = array( ‘item_id’ =>800, ‘title’ => ‘800 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 8 ); > elseif ($item == ‘item_900coin’) < $response[‘response’] = array( ‘item_id’ =>900, ‘title’ => ‘900 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 9 ); > elseif ($item == ‘item_1000coin’) < $response[‘response’] = array( ‘item_id’ =>1000, ‘title’ => ‘1000 золотых монет (тестовый режим)’, ‘photo_url’ => ‘https://mysite.com/coin.png’, ‘price’ => 10 ); > else < $response[‘error’] = array( ‘error_code’ =>20, ‘error_msg’ => ‘Товара не существует.’, ‘critical’ => true ); > break; case ‘order_status_change’: // Изменение статуса заказа if ($input[‘status’] == ‘chargeable’) < $order_id = intval($input[‘order_id’]); $user_id = intval($input[‘user_id’]); $item_id = intval($input[‘item_id’]); include ‘db.php’; $stmt = $pdo->prepare(‘INSERT INTO payments (users, coins, orders) VALUES («‘.$user_id.'», «‘.$item_id.'», «‘.$order_id.'») ON DUPLICATE KEY UPDATE coins=(coins+»‘.$item_id.'»), orders=»‘.$order_id.'»‘); $stmt->execute(); $pdo = null; // Код проверки товара, включая его стоимость $app_order_id = 1; // Получающийся у вас идентификатор заказа. $response[‘response’] = array( ‘order_id’ => $order_id, ‘app_order_id’ => $app_order_id, ); > else < $response[‘error’] = array( ‘error_code’ =>100, ‘error_msg’ => ‘Передано непонятно что вместо chargeable.’, ‘critical’ => true ); > break; case ‘order_status_change_test’: // Изменение статуса заказа в тестовом режиме if ($input[‘status’] == ‘chargeable’) < $order_id = intval($input[‘order_id’]); $user_id = intval($input[‘user_id’]); $item_id = intval($input[‘item_id’]); include ‘db.php’; $stmt = $pdo->prepare(‘INSERT INTO payments (users, coins, orders) VALUES («‘.$user_id.'», «‘.$item_id.'», «‘.$order_id.'») ON DUPLICATE KEY UPDATE coins=(coins+»‘.$item_id.'»), orders=»‘.$order_id.'»‘); $stmt->execute(); $pdo = null; $app_order_id = 1; // Тут фактического заказа может не быть — тестовый режим. $response[‘response’] = array( ‘order_id’ => $order_id, ‘app_order_id’ => $app_order_id, ); > else < $response[‘error’] = array( ‘error_code’ =>100, ‘error_msg’ => ‘Передано непонятно что вместо chargeable.’, ‘critical’ => true ); > break; > > echo json_encode($response); ?>

Еще по теме:  Как сделать много сообщений в ВК

Создаем базу данных и выполняем в ней SQL-запрос на создание таблицы с нужными нам полями.

SQL-запрос

CREATE TABLE IF NOT EXISTS `payments` ( `users` int(15) DEFAULT NULL, `coins` int(15) NOT NULL DEFAULT ‘0’, `orders` int(15) DEFAULT NULL, UNIQUE KEY `users` (`users`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

В результате мы получим вот такое приложение:

Источник: www.pvsm.ru

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