伏特加2 / vk-audio-token
用于获取适用于VK音频API的VK令牌的库。该库可以用于获取VK令牌,使其适用于VK音频API,因此可以搜索艺术家、歌曲、专辑,查询音频URI,将音频添加到“我的音频”等。该库支持Kate Mobile、Boom和VK官方客户端。(感谢YTKABOBR对Boom客户端的反汇编)
- dev-master
- 1.2
- 1.1
- dev-dependabot/npm_and_yarn/docs/json5-1.0.2
- dev-dependabot/npm_and_yarn/docs/flat-and-gatsby--removed
- dev-dependabot/npm_and_yarn/docs/express-4.18.2
- dev-dependabot/npm_and_yarn/docs/qs-6.5.3
- dev-dependabot/npm_and_yarn/docs/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/docs/engine.io-and-socket.io-3.6.1
- dev-dependabot/npm_and_yarn/docs/loader-utils-and-gatsby-1.4.2
- dev-dependabot/npm_and_yarn/docs/socket.io-parser-3.3.3
- dev-dependabot/npm_and_yarn/docs/terser-4.8.1
- dev-dependabot/npm_and_yarn/docs/moment-2.29.4
- dev-dependabot/npm_and_yarn/docs/devcert-1.2.1
- dev-dependabot/npm_and_yarn/docs/trim-newlines-3.0.1
- dev-dependabot/npm_and_yarn/docs/lodash-es-4.17.21
- dev-dependabot/npm_and_yarn/docs/url-parse-1.5.10
- dev-dependabot/npm_and_yarn/docs/ajv-6.12.6
- dev-dependabot/npm_and_yarn/docs/ua-parser-js-0.7.31
- dev-dependabot/npm_and_yarn/docs/shelljs-0.8.5
This package is auto-updated.
Last update: 2024-09-07 01:43:15 UTC
README
阅读此内容:俄语。
此库的Python版本:vodka2/vkaudiotoken-python
此库获取VK令牌,适用于VK音频API,因此可以搜索艺术家、歌曲、专辑、查询音频URI、将音频添加到“我的音频”等。该库支持Kate Mobile、Boom和VK官方客户端。(感谢YTKABOBR对Boom客户端的反汇编)
实际上,VK API有两个版本,一个是Kate Mobile版本,另一个是官方客户端版本。Boom客户端使用的VK API与Kate相似,但有一些限制,并非所有方法都受支持。此外,它需要messages权限(他们扫描我们的消息吗?)有时会返回500错误。另一方面,它还支持除VK API以外的另一个API,并可能作为后备使用。
安装
composer require vodka2/vk-audio-token
... 或者简单地复制克隆的仓库到某处,并包含 src/autoloader.php。该库没有依赖项。
获取令牌
最简单的示例
<?php use Vodka2\VKAudioToken\TokenFacade; $login = "+71234567890"; $pass = "12345"; // print token and User-Agent // setting User-Agent is mandatory when querying the API! var_export(TokenFacade::getKateToken($login, $pass));
更高级的示例在 examples 目录中。从 example_simple.php 开始。
使用令牌
最简单的示例
<?php define('TOKEN', 'token from previous example'); define('USER_AGENT', 'User-Agent from previous example'); $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: '.USER_AGENT)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt( $ch, CURLOPT_URL, "https://api.vk.com/method/audio.getById?access_token=".TOKEN. "&audios=".urlencode("371745461_456289486"). "&v=5.95" ); echo json_encode(json_decode(curl_exec($ch)), JSON_PRETTY_PRINT)."\n\n";
在 usage 子目录中有更多示例,展示了如何使用不同的API方法使用获取到的VK令牌。更详细的VK API描述可在 https://vodka2.github.io/vk-audio-token/(目前正在开发中)找到。
CLI工具
还有一个更高级的CLI工具,它可以模拟Kate Mobile。
Usage: src/cli/vk-audio-token.php [options] vk_login vk_pass
src/cli/vk-audio-token.php [options] non_refreshed_kate_token
Options:
-s file - save GMS ID and token to the file
-l file - load GMS ID and token from file
-g gms_id:gms_token - use specified GMS ID and token
-d file - use droidguard string from file
instead of hardcoded one
-m - make microG checkin (default)
-o - old checkin with droidguard string
that may expire
with droidguard string is made
-t code - use two factor authentication
pass GET_CODE to get code or
pass code received in SMS
-h - print this help
Docker
docker build -t vk-audio-tokens src/
docker run -t vk-audio-tokens:latest php src/cli/vk-audio-token.php -m vk_login vk_pass
docker run -t vk-audio-tokens:latest php src/examples/usage/example_kate.php token
双因素认证
支持为Kate和VK官方客户端提供基于短信的双因素认证,但是VK服务器有时不发送短信。如果您没有收到短信,可以使用 TwoFAHelper 类强制重新发送。请参阅 example_twofahelper.php。
对于Boom客户端,库使用隐式流程授权,并向VK网站发出请求。VK服务器可能会调用您的电话,发送短信或向您的VK账户发送私信。您也可以自行验证客户端,并且只传递令牌和用户ID。
您还可以在VK账户设置中创建单独的密码,并用它们代替您的账户密码。
GMS凭证
在获取令牌时也会获取GMS凭证。有两种方法可以获取GMS凭证。
第一种方法是从根设备获取。令牌在 /data/data/com.google.android.gsf/shared_prefs/CheckinService.xml 文件中,ID在 /data/data/com.google.android.gms/shared_prefs/Checkin.xml 文件中。您可以安装 GMS Credentials 应用程序以查看它们。
第二种方法是自己执行Android Checkin。类 AndroidCheckin 是为此任务设计的。此类提供两种选项:使用droidguard字符串进行checkin和在 microG 项目中进行的checkin。请注意,获取到的凭证可能会过期。
对于第一个选项,你需要一个由 com.google.ccc.abuse.droidguard (即.apk) 生成的字符串。在 example_droidguard_str.php 文件中有一个这样的字符串,它可能会过期。当使用第二个选项时,会多出一个请求,PHP 需要启用套接字。
还可以拦截 Android Checkin 请求(在第一次启动时进行)并查看返回的 GMS ID 和令牌。
请为我买一些健康的俄罗斯饮料!
WMR — P778046516389
WMZ — Z828082159527