Code Monkey home page Code Monkey logo

vk-mini-apps-api's Introduction

VK Mini Apps API NPM

Library for quick and efficient development of VK Mini Apps based on VK Bridge methods.

Unlike VK Bridge, VK Mini Apps API already contains all the ready-made Javascript-functionality for interacting with the official clients.

Usage

Install the library via yarn

$ yarn add @vkontakte/vk-mini-apps-api

or npm

$ npm install @vkontakte/vk-mini-apps-api

Use in your code in the following way

import { VKMiniAppAPI } from '@vkontakte/vk-mini-apps-api';

// Creating API instance
const api = new VKMiniAppAPI();

// Initializing app
api.initApp();

// Using methods
api.getUserInfo().then(userInfo => {
  console.log(userInfo.id);
});

For use in a browser, include the file dist/index.umd.js and use as follows

<script src="index.umd.js"></script>

<script>
  const { VKMiniAppAPI } = window.vkMiniAppsAPI;

  // Creating API instance
  const api = new VKMiniAppAPI();

  // Initializing app
  api.initApp();

  // Using methods
  api.getUserInfo().then(userInfo => {
    console.log(userInfo.id);
  });
</script>

At the link above you can find a full API Reference of the library. The API reference was generated by TypeDoc.

vk-mini-apps-api's People

Contributors

danakt avatar dependabot[bot] avatar trofimovdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vk-mini-apps-api's Issues

Не работает код из примера api.getUserInfo() (в iFrame)

В файл main.ts (Vue js) поместил код из примера:

import { VKMiniAppAPI } from '@vkontakte/vk-mini-apps-api';
const api= new VKMiniAppAPI();
api.initApp();
api.getUserInfo()
	.then(userInfo => {
		console.log(userInfo);
	})
	.catch(e => console.log(e));

Выложил на Github Pages.
В настройках приложения в поле Адрес IFrame прописал "https://ww33.github.io/vue-chat/"

Приложение открывается, но в консоль ничего не выводится - ни then, ни catch.

How to use when running outside of VK platform?

Hi!

I've faced an issue. I'm currently using the api to get user info. When I'm trying to run the same code outside of VK (just from my browser), it neither fails nor succeeds. It seems it is stuck in some constant loop because await is never finished and it doesn't throw anything either.
What should I do in that case?

Как получить auth_key с сервера ВКонтакте?

Из документации:
auth_key вычисляется на сервере ВКонтакте следующим образом:
auth_key = md5(api_id + '' + viewer_id + '' + api_secret)

Как получить auth_key с сервера VK в приложении? В параметрах url его нет, методов для его получения не видно...

Проблема с кодировкой при использовании функции storageSet в мобильных браузерах

При использовании функции Storage set в мобильном браузере в хранилище сохраняются знаки вопросов вместо кириллических символов.

Пример кода

	const api = new VKMiniAppAPI();
	api.initApp();

	let test = "Тестовая строка на кириллице";
       
		api.storageSet('test', test).then(keyValue => {

			console.log("сохранили переменную test в хранилище");

                         let TestKeys = [];
                         TestKeys.push("test");

                         api.storageGetMultiple(TestKeys).then(StorageData => {

			       Object.keys(StorageData).map(function(key, index) {

			             let resultString = StorageData[key];
                                     console.log(resultString);
                                      // в версии m.vk.com выведет знаки вопроса
                                      // в приложениях и десктопе отработает корректно		
			       });

			});

Не работает в браузерах после обновления vk connect на vk bridge

Обновил пакет vk connect на vk bridge.

После этого библиотека vk-mini-apps-api перестала работать в браузерах, как в десктопных, так и на мобильных. В нативных клиентах работает корректно. Пример кода ( в самом приложении используется чуть другой, но этот тоже не работает)

import bridge from '@vkontakte/vk-bridge';
import { VKMiniAppAPI } from '@vkontakte/vk-mini-apps-api';

const api = new VKMiniAppAPI();
api.initApp();

api.getUserInfo()
  .then(userInfo => {
  			  console.log(userInfo);
			  console.log(userInfo.id);
  			  // в браузерах выводит undefined в обоих случаях
	   })
  .catch(function(err) {
    		console.log('Error :-S', err);
  	    });

Куда смотреть, куда копать чтобы заработало? Как понять в чем ошибка? смотрел запросы в серверу через инструменты разработчика в хром , запросы к серверу вк не идут, в общем списке не показываются.

package file:

"dependencies": {
    "@vkontakte/icons": "^1.17.1",
    "@vkontakte/mvk-mini-apps-scroll-helper": "^1.2.0",
    "@vkontakte/vk-bridge": "^2.0.7",
    "@vkontakte/vk-mini-apps-api": "^0.6.3",
    "@vkontakte/vkui": "^3.4.2",
    ...

Проблема с openCodeReader

Resolve промиса что возвращает данная ф-ция не выполняется с @vkontakte/vk-connect но выполняется с @vkontakte/vk-connect-mock.
При этом само событие VKWebAppOpenCodeReaderResult из данных библиотек отрабатывает успешно.
Использую
@vkontakte/vk-connect 1.8.7
@vkontakte/vk-connect-mock 2.1.0
@vkontakte/vk-mini-apps-api 0.5.0

VKConnectProvider

Неудобно, что connect: VKConnect имеет модификатор доступа protected. Хотелось бы public; приходится писать ещё один импорт, чтобы, например, вызвать isWebView()

Как получить массив друзей?

Метод getFriends вызывает интерактивный список.

JavaScript SDK имеет friends.get, но вроде как JavaScript SDK поддерживается только до 1 мая 2020.

Как актуально получить список друзей (не интерактивный) для последующего анализа?

Спасибо.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.