Само приложение»VK Mini Apps»
В настройках указал путь к файлу на сервере.
На втором шаге «2. Открытие диалога авторизации» заполняю ссылку данными, как в примере, только своими данными, но получаю ошибку:
Цитата:
OAuth authorization cannot be used from native VK applications |
вроде ясно написано.
OAuth нельзя использовать с нативными VK приложениями.
Цитата:
Получить ключ доступа пользователя можно одним из этих способов: Implicit flow. Для работы с API от имени пользователя в Javascript-приложениях и Standalone-клиентах (десктопных или мобильных). Authorization code flow. Для работы с API от имени пользователя с серверной стороны Вашего сайта. |
для других платформ это не нужно, так как ключ передается в параметрах.
VK API как получить Access Token, метод авторизации implicit flow и standalone приложение вконтакте
либо неправильно указаны ID или иные данные.
1. Хочется в сообщество добавить такой вот виджет, где будут показаны лучшие лайкеры, лучшие комментаторы и лучшие поделившиеся.
2. Читал АПИ ВК, но до самого использования АПИ так и не дошло. Пока тупо не могу наладить сопряжение между файлом, который лежит на сервере и самим приложением. Для этого надо токен, вроде, но как его добыть не пойму.
3. Какой тип приложения надо создавать? VK Mini Apps. Это?
4. А как его активировать? Как получить токен?
Цитата:
Для этого надо токен, вроде, но как его добыть не пойму. |
так как у вас встраиваемое приложение, то авторизацию делать не нужно, VK сам передаст нужные параметры при вставке страницы в iframe.
авторизация нужна для тех приложений, которые работают самостоятельно, без обращения к ним со стороны VK.
пример для понимания — https://github.com/VKCOM/vk-apps-launch-params
$api_url = ‘https://api.vk.com/method/appWidgets.update’;
$api_parameters = array(
‘type’ => ‘donation’,
‘code’ => $code,
‘access_token’ => $group_token,
‘v’ => 5.126
);
echo curl($api_url, $api_parameters);
function curl($link, $post = null)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if ($post) <
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
>
Цитата:
$group_token = |
не светили бы, если реальный. иначе могут воспользоваться.
АВТОРИЗАЦИЯ В АККАУНТЕ VK ЧЕРЕЗ PYTHON
для группового виджета авторизация не нужна — этот токен и есть авторизация.
пример создания — https://yougame.biz/threads/49253/
ps: я это пишу в отношении вашего куска кода. подходов может быть много и разных.
с этим куском вы просто выбираете один из стандартных доступных виджетов и обновляете в нем данные.
Источник: forum.ru-board.com
Как получить авторизационный код (code) в Java SDK для VK API?
Изучаю документацию https://vk.com/dev/Java_SDK
Пункт 7: Эта схема авторизации состоит из двух этапов — получение авторизационного кода («code») и обмен его на ключ доступа («access_token»). Сначала Вам необходимо получить «code» (инструкция), а затем выполнить второй этап.
Перехожу по ссылке (инструкция) — Необходимо перенаправить браузер пользователя по адресу
https://oauth.vk.com/authorize, передав следующие параметры (. ), из которых один параметр — url-адрес, куда перейдёт браузер после успешной авторизации. Ну и собственно этому url в get-параметре будет передаваться этот самый code.
Моя проблема в том, что не понимаю, как получить этот code? Его вообще возможно получить в Java? Или нужно использовать HTTPURLConnection к php-файлу, чтобы получить его, а в этом php-файле сделать переход на oauth и считывание get-запроса?
- Вопрос задан более трёх лет назад
- 605 просмотров
2 комментария
Оценить 2 комментария
Источник: qna.habr.com
Android и VKontakte SDK, часть 3 (авторизация и получение прав)
Во второй части я описал, как получить авторизацию от vk не используя сторонних библиотек и sdk. Недостаток данного способа в том, что каждому новому пользователю приходится вводить логин и пароль социальной сети. Время идет и вот vkontakte создает свою sdk для android! С помощью нее можно легко получить токен авторизации пользователя не вводя ни каких данных и даже не видя самого окна запроса прав.
Для начала нужно подключить Android VK SDK к вашему проекту и по пунктам выполнить все действия из официальной документации SDK по настройке и подключению, а именно: «Подготовка к использованию VK SDK», «Как получить отпечаток сертификата», «Подключение VK SDK в Android-приложении».
Далее создаем activity с авторизацией:
Вместо переменной vk_app_id нужно вписать свой ID приложения ВКонтакте. Данный экран выполняет все необходимые действия по получению токена и необходимой информации о пользователе. Использовать данных экран достаточно просто, допустим мы имеем некую кнопку, при нажатии на которую будет происходить авторизация:
VKONTAKTE_CODE — любое число, по которому будет происходить проверка в функции onActivityResult в переменной requestCode, что ответ пришел именно от нужного нам экрана, тем самым фильтровать логику ответов различных экранов (допустим, когда у нас несколько кнопок авторизации разных соц. сетей).
Данный код нужно расместить в любом месте вашего основного экрана, в мое случае это было в методе onCreate класса LoginActivity. Все полученные данные из экрана VKontakteActivity попадут в функцию onActivityResult основного экрана вашего приложения, т.е. откуда VKontakteActivity было запущено:
Данный способ существенно упрощает жизнь всем вашим пользователям, т.к. не заставляет вводить лишние данные при авторизации. Если вдруг у пользователя нет приложения ВКонтакте на телефоне, то vk sdk откроет страницу авторизации в обычном webview и сделает все, что было описано во второй части.
P.Nixx, 26.03.2015, 15:00
Источник: pnixx.ru