Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Как узнать баланс QIWI-кошелька?
mkgДата: Пн, 04 Июля 2022, 18:11 | Сообщение # 1
Любопытный
В который раз читаю доки по Qiwi API и ничего не понимаю.
Токен есть, но толку ноль.
Подскажите, пожалуйста, как привинтить эту штуку к Neobook.
В благодарность отдам какую-нибудь полезную железку.
 
СообщениеВ который раз читаю доки по Qiwi API и ничего не понимаю.
Токен есть, но толку ноль.
Подскажите, пожалуйста, как привинтить эту штуку к Neobook.
В благодарность отдам какую-нибудь полезную железку.

Автор - mkg
Дата добавления - 04 Июля 2022 в 18:11
frolandrДата: Пн, 04 Июля 2022, 22:47 | Сообщение # 2
Участник
Читайте https://developer.qiwi.com/ru/qiwi-wallet-personal/#auth_param
Если я правильно понял нужно посылать POST запрос по адресу: https://edge.qiwi.com с нужными параметрами, причем они должны быть в JSON формате. Есть буржуйский платный плагин, но думаю можно с помощью функции js попробовать JSON.stringify(). Однако я пытался попробовать подключать библиотеку MATH, не чего не вышло. Ответ тоже будет в таком же формате, нужно будет парсить его. НЕО использует ИЕ, возможно сайт просто не принимает его, как устаревший браузер. ПРобовать отсылать заголовок гуглхрома или другого браузера.
 
СообщениеЧитайте https://developer.qiwi.com/ru/qiwi-wallet-personal/#auth_param
Если я правильно понял нужно посылать POST запрос по адресу: https://edge.qiwi.com с нужными параметрами, причем они должны быть в JSON формате. Есть буржуйский платный плагин, но думаю можно с помощью функции js попробовать JSON.stringify(). Однако я пытался попробовать подключать библиотеку MATH, не чего не вышло. Ответ тоже будет в таком же формате, нужно будет парсить его. НЕО использует ИЕ, возможно сайт просто не принимает его, как устаревший браузер. ПРобовать отсылать заголовок гуглхрома или другого браузера.

Автор - frolandr
Дата добавления - 04 Июля 2022 в 22:47
ВадимДата: Вт, 05 Июля 2022, 20:29 | Сообщение # 3
Генератор идей
Функция парсинга JSON есть (по описанию, но я не проверял) в бесплатном плагине dmTweets (Dembel)
Команда dmParseJSON

Ещё плагины парсеры JSON можно посмотреть тут и тут.

Если вместо IE нужен браузер Хром, то можно попробовать бесплатный плагин (но он давно не обновлялся) dmChromium (Dembel), а для использования браузера Edge есть свежий, но платный zmwOnTheEdge (Zaeem, RCMedia Services).


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеФункция парсинга JSON есть (по описанию, но я не проверял) в бесплатном плагине dmTweets (Dembel)
Команда dmParseJSON

Ещё плагины парсеры JSON можно посмотреть тут и тут.

Если вместо IE нужен браузер Хром, то можно попробовать бесплатный плагин (но он давно не обновлялся) dmChromium (Dembel), а для использования браузера Edge есть свежий, но платный zmwOnTheEdge (Zaeem, RCMedia Services).

Автор - Вадим
Дата добавления - 05 Июля 2022 в 20:29
frolandrДата: Вт, 05 Июля 2022, 22:12 | Сообщение # 4
Участник
Можно и вручную конечно объект в строку JSON переводить. Ведь все это нужно написать всего один раз и держать в переменной НБ. Парсить ответ тоже вручную можно. К примеру у вас должен быть примерно такой обект:
Код

const head = {
    Host: "edge.qiwi.com",
    "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)",
    Accept: "application/json",
    "Accept-Language": "en-us,en;q=0.5"
}


Строка JSON будет выглядеть вот так:
{"Host":"edge.qiwi.com","User-Agent":"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)","Accept":"application/json","Accept-Language":"en-us,en;q=0.5"}

Здесь я уже вписал адрес хоста Киви и браузер Firefox. Не забыть еще ТОКЕН вписать. Ну и смотреть, что приходит в ответ. Вот только возможно в посте выше я соврал, если честно я не помню какой запрос нужно отсылать GET или POST занимались этим в 14 году, когда делали программу скачавания mp3 файлов с сайта Зацев.
 
СообщениеМожно и вручную конечно объект в строку JSON переводить. Ведь все это нужно написать всего один раз и держать в переменной НБ. Парсить ответ тоже вручную можно. К примеру у вас должен быть примерно такой обект:
Код

const head = {
    Host: "edge.qiwi.com",
    "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)",
    Accept: "application/json",
    "Accept-Language": "en-us,en;q=0.5"
}


Строка JSON будет выглядеть вот так:
{"Host":"edge.qiwi.com","User-Agent":"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)","Accept":"application/json","Accept-Language":"en-us,en;q=0.5"}

Здесь я уже вписал адрес хоста Киви и браузер Firefox. Не забыть еще ТОКЕН вписать. Ну и смотреть, что приходит в ответ. Вот только возможно в посте выше я соврал, если честно я не помню какой запрос нужно отсылать GET или POST занимались этим в 14 году, когда делали программу скачавания mp3 файлов с сайта Зацев.

Автор - frolandr
Дата добавления - 05 Июля 2022 в 22:12
mkgДата: Пн, 11 Июля 2022, 14:53 | Сообщение # 5
Любопытный
Ну вот зачем мне парсинг и json? Мне бы строку запроса и всё. Run, Get, Post - пофигу как. Лишь бы ответ сервера был. Дальше соображу или спрошу.
 
СообщениеНу вот зачем мне парсинг и json? Мне бы строку запроса и всё. Run, Get, Post - пофигу как. Лишь бы ответ сервера был. Дальше соображу или спрошу.

Автор - mkg
Дата добавления - 11 Июля 2022 в 14:53
frolandrДата: Чт, 14 Июля 2022, 10:28 | Сообщение # 6
Участник
Цитата mkg ()
Ну вот зачем мне парсинг и json? Мне бы строку запроса и всё. Run, Get, Post - пофигу как. Лишь бы ответ сервера был. Дальше соображу или спрошу.


Про запрос RUN я не слышал, GET, POST, PUT, HEAD, DELETE, CONNECT, OPTIONS, TRACE, PATCH

Вам же написали, что API поддерживает только JSON, если вы обратитесь к французу на
русском вас просто не поймут и вам не ответят. Чтобы получить баланс кошелька Киви
нужно отправить такой запрос:
Код

InternetGet "edge.qiwi.com/funding-sources/v2/persons/numbertelef/accounts" "[answer]" ""
где:
numbertelef - номер телефона, на который зарегистрирован Киви, без знака +
[answer] - переменная в которую будет записан ответ сервера.


Я сделал такой запрос, получил ответ "401 - Неверный токен или истек срок действия токена API"
Пробуйте отправить такой запрос, если у вас есть ТОКЕН.

При правильно обращении, должны получить примерно такой ответ:
Код

HTTP/1.1 200 OK
Content-Type: application/json

{
    "accounts": [
        {
            "alias": "mc_beeline_rub",
            "fsAlias": "qb_mc_beeline",
            "bankAlias": "QIWI",
            "title": "MC",
            "type": {
                "id": "MC",
                "title": "Счет мобильного кошелька"
            },
            "hasBalance": false,
            "balance": null,
            "currency": 643
        },
        {
            "alias": "qw_wallet_rub",
            "fsAlias": "qb_wallet",
            "bankAlias": "QIWI",
            "title": "WALLET",
            "type": {
                "id": "WALLET",
                "title": "QIWI Wallet"
            },
            "hasBalance": true,
            "balance": {
                "amount": 8.74,
                "currency": 643
            },
            "currency": 643
        }
    ]
}


Ну и распарсите его.
 
Сообщение
Цитата mkg ()
Ну вот зачем мне парсинг и json? Мне бы строку запроса и всё. Run, Get, Post - пофигу как. Лишь бы ответ сервера был. Дальше соображу или спрошу.


Про запрос RUN я не слышал, GET, POST, PUT, HEAD, DELETE, CONNECT, OPTIONS, TRACE, PATCH

Вам же написали, что API поддерживает только JSON, если вы обратитесь к французу на
русском вас просто не поймут и вам не ответят. Чтобы получить баланс кошелька Киви
нужно отправить такой запрос:
Код

InternetGet "edge.qiwi.com/funding-sources/v2/persons/numbertelef/accounts" "[answer]" ""
где:
numbertelef - номер телефона, на который зарегистрирован Киви, без знака +
[answer] - переменная в которую будет записан ответ сервера.


Я сделал такой запрос, получил ответ "401 - Неверный токен или истек срок действия токена API"
Пробуйте отправить такой запрос, если у вас есть ТОКЕН.

При правильно обращении, должны получить примерно такой ответ:
Код

HTTP/1.1 200 OK
Content-Type: application/json

{
    "accounts": [
        {
            "alias": "mc_beeline_rub",
            "fsAlias": "qb_mc_beeline",
            "bankAlias": "QIWI",
            "title": "MC",
            "type": {
                "id": "MC",
                "title": "Счет мобильного кошелька"
            },
            "hasBalance": false,
            "balance": null,
            "currency": 643
        },
        {
            "alias": "qw_wallet_rub",
            "fsAlias": "qb_wallet",
            "bankAlias": "QIWI",
            "title": "WALLET",
            "type": {
                "id": "WALLET",
                "title": "QIWI Wallet"
            },
            "hasBalance": true,
            "balance": {
                "amount": 8.74,
                "currency": 643
            },
            "currency": 643
        }
    ]
}


Ну и распарсите его.

Автор - frolandr
Дата добавления - 14 Июля 2022 в 10:28
mkgДата: Чт, 08 Сентября 2022, 13:20 | Сообщение # 7
Любопытный
Упёрся рогом и сделал . Но на Питоне. Хотя я его абсолютно не знаю. Консольным ехешником с одной строкой баланса.
Если кому нужно, то напишу подробнее.
Прикрепления: 4624804.jpg (19.8 Kb)
 
СообщениеУпёрся рогом и сделал . Но на Питоне. Хотя я его абсолютно не знаю. Консольным ехешником с одной строкой баланса.
Если кому нужно, то напишу подробнее.

Автор - mkg
Дата добавления - 08 Сентября 2022 в 13:20
ВадимДата: Чт, 08 Сентября 2022, 22:11 | Сообщение # 8
Генератор идей
Здорово! thumbs_up

Общий принцип решения интересен, хотя я тоже с питоном не знаком.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеЗдорово! thumbs_up

Общий принцип решения интересен, хотя я тоже с питоном не знаком.

Автор - Вадим
Дата добавления - 08 Сентября 2022 в 22:11
  • Страница 1 из 1
  • 1
Поиск: