Requires
- php: >=5.6.4
- guzzlehttp/guzzle: ^6.0
- illuminate/bus: ^5.4
- illuminate/console: ^5.4
- illuminate/database: ^5.4
- illuminate/http: ^5.4
- illuminate/queue: ^5.4
- illuminate/routing: ^5.4
- illuminate/support: ^5.4
- illuminate/validation: ^5.4
- illuminate/view: ^5.4
- nesbot/carbon: ^1.22
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.0|^7.0
README
注意
请使用 VK API 的 官方 SDK。
菜单
安装
要获取 VK API 包的最新版本,只需使用 Composer 依赖项目即可
$ composer require andrey-helldar/vk
当然,您也可以手动更新 require 块并运行 composer update。
{
"require": {
"andrey-helldar/vk": "5.63.*"
}
}
此包的版本基于 VK API 版本,格式如下: x.y.z,其中:
x- VK API 的主版本。y- VK API 的次版本。z- 此包的版本。
安装包后,您需要注册服务提供者。打开 config/app.php 并将以下内容添加到 providers 键,或者在 Laravel 5.5+ 中,可以通过自动包发现来完成。
Helldar\Vk\VkServiceProvider::class,
接下来,执行以下操作
$ php artisan vendor:publish $ php artisan migrate
将以下行添加到 .env
VK_CLIENT_ID= VK_CLIENT_SECRET= VK_SECRET_KEY=
当
VK_CLIENT_ID- 应用程序 IDVK_CLIENT_SECRET- 安全密钥VK_SECRET_KEY- 服务令牌
更多信息请见 vk.com/dev
好的!使用 vk() 辅助函数。
更新包
在开发过程中,我们有时会修改数据库表结构,因此更新到较新版本后,请运行以下命令
$ php artisan migrate
请求 & 响应
注意!
为了正确工作,此包的用户必须在网站上授权。
模板
此包使用 授权码流 方法访问 VK API(适用于应用程序的服务器端)。
您可以在模板中调用创建按钮的标准方法
{!! vk()->authButton() !!}
或者直接使用路由
{{ route('vk::auth') }}
发送请求
要发送请求,请使用以下结构
// vk()->{section}({method})->param1(value1)->param2(value2)->...->paramN+1(valueN+1)->send(); // Example: vk()->friends('get')->userId(14)->count(20)->send(); vk()->account('banUser')->userId(14)->send();
获取响应
要测试并从API获取响应,请使用 get() 方法
// vk()->{section}({method})->get(); // Example: vk()->friends('get')->get(); vk()->account('banUser')->get();
可用方法
账户
banUser(1) - 将用户添加到黑名单。changePassword(1) - 在使用 auth.restore 方法成功恢复访问权限后更改用户密码。getActiveOffers(2) - 返回用户执行的活动广告(报价)列表,这将为他/她的应用账户带来相应数量的投票。getAppPermissions(2) - 获取用户在此应用中的设置。getBanned(1) - 返回用户的黑名单。getCounters(2) - 返回用户计数器的非空值。getInfo(1) - 返回当前账户信息。getProfileInfo(1) - 返回当前账户信息。getPushSettings(1) - 获取推送通知的设置。所需权限:消息。lookupContacts(1) - 允许使用电话号码、电子邮件地址和其他服务上的用户ID搜索VK用户。您还可以通过 friends.getSuggestions 方法获取这些用户。所需权限:朋友。registerDevice(1) - 将基于iOS/Android/Windows Phone的设备订阅以接收推送通知。所需权限:消息。saveProfileInfo(1) - 编辑当前个人资料信息。setInfo(1) - 允许编辑当前账户信息。setNameInMenu(2) - 设置应用屏幕名称(最多17个字符),在左侧菜单中显示给用户。仅在用户从应用页面、应用列表和设置中添加此类应用到左侧菜单时才会发生。setOffline(1) - 将当前用户标记为离线。setOnline(1) - 将当前用户标记为在线15分钟。setPushSettings(1) - 更改推送设置。所需权限:消息。setSilenceMode(1) - 在设定的时间内静音推送通知。所需权限:消息。unbanUser(1) - 从黑名单中删除用户。unregisterDevice(1) - 取消设备订阅推送通知。所需访问权限:消息。
更多内容请参阅 VK API: 账户
广告
正在测试 VK 广告账户的API。如果API有任何错误或问题,请通过 api@vk.com 联系我们。
在调用API方法之前,您需要在 服务器 或 客户端 端进行授权。之后,您可以使用标准的 交互模式 发送任何API请求。
此外,在开始使用广告API之前,请阅读 限制和建议。
以下列出的是所有用于操作VK广告账户数据的API方法。
所需访问权限:广告。
addOfficeUsers(2) - 向广告账户添加经理和/或主管。checkLink(2) - 允许检查广告链接。createAds(2) - 创建广告。请注意!单个请求中创建的广告最大数量为5。广告受众的最小人数为50人。createCampaigns(2) - 创建广告活动。请注意!单个请求中创建的广告活动数量限制为50。createClients(2) - 创建广告代理机构的客户。仅适用于广告代理商。请注意!单个请求中创建的客户的最大数量为50。createTargetGroup(2) - 创建一个用于重新定位广告的用户组,这些用户已访问广告商的网站(查看产品信息、注册等)。deleteAds(2) - 归档广告。deleteCampaigns(2) - 归档广告活动。deleteClients(2) - 归档广告代理商的客户。仅适用于广告代理商。deleteTargetGroup(2) - 删除重新定位用户组。getAccounts(2) - 返回广告账户列表。getAds(2) - 返回广告数量。getAdsLayout(2) - 返回广告布局描述。getAdsTargeting(2) - 返回广告定位参数。getBudget(2) - 返回广告账户当前预算。getCampaigns(2) - 返回广告账户中的广告活动列表。getCategories(2) - 返回可能的广告类别列表。getClients(2) - 返回广告代理机构的客户列表。仅适用于广告代理商。getDemographics(2) - 返回广告或活动的受众人口统计数据。getFloodStats(2) - 返回计数器当前状态的信息——方法剩余运行次数和下一个计数器归零的秒数。getOfficeUsers(2) - 返回广告账户的管理员和主管列表。getPostsReach(2) - 返回帖子的覆盖范围。getRejectionReason(2) - 返回预审拒绝广告的原因。getStatistics(2) - 返回广告、活动、客户或整个账户的性能指标统计。getSuggestions(2) - 返回各种定向参数的自动建议集合。getTargetGroups(2) - 返回目标群体列表。getTargetingStats(2) - 返回目标受众群体的大小,以及推荐的CPC和CPM值。getUploadURL(2) - 返回上传广告照片的URL。getVideoUploadURL(2) - 返回上传广告视频的URL。importTargetContacts(2) - 将广告商的联系人列表导入,以统计VK注册用户与目标群体。请注意!单次请求中导入的联系人最大数量为1000。removeOfficeUsers(2) - 从广告账户中移除管理员和/或主管。updateAds(2) - 编辑广告。请注意!单次请求中允许编辑的广告数量为20。广告受众的最小规模为50人。updateCampaigns(2) - 编辑广告活动。updateClients(2) - 编辑广告代理商的客户。仅适用于广告代理商。请注意!单次请求中允许编辑的客户最大数量为50。updateTargetGroup(2) - 编辑重定向群体。
更多信息请参见 VK API:广告
应用
deleteAppRequests(1) - 删除当前应用的所有请求通知。get(2) - 返回应用数据。getCatalog(2) - 返回用户在应用目录中可用的应用列表。您可以从同一IP地址或ID调用此方法,但一分钟内不得超过60次。getFriendsList(2) (1) - 为当前应用中的请求和邀请创建朋友列表。getLeaderboard(2) - 返回游戏中的玩家评分。getScore(2) - 返回用户在应用中的得分。sendRequest(1) - 向使用VK授权的应用中的另一个用户发送请求。
更多信息请参阅 VK API: Apps
身份验证
checkPhone(3) - 检查用户电话号码的正确性。confirm(3) - 使用授权代码完成用户的注册(通过auth.signup方法开始)。restore(2) - 允许使用通过短信收到的代码恢复账户访问。signup(3) - 通过电话号码注册新用户。
更多信息请参阅 VK API: Auth
论坛
所需权限: groups。
addTopic(1) - 在社区讨论板上创建新的主题。closeTopic(1) - 关闭社区讨论板上的主题,以便无法发表评论。createComment(1) - 在社区讨论板上的主题中添加评论。deleteComment(1) - 删除社区讨论板上的主题评论。deleteTopic(1) - 从社区讨论板上删除主题。editComment(1) - 编辑社区讨论板上的主题评论。editTopic(1) - 编辑社区讨论板上的主题标题。fixTopic(1) - 将主题(固定位置)固定到社区讨论板顶部。getComments(2) - 返回社区讨论板上主题的评论列表。getTopics(2) - 返回社区讨论板上的主题列表。openTopic(1) - 重新打开社区讨论板上之前关闭的主题。restoreComment(1) - 恢复已从社区讨论板上的主题中删除的评论。unfixTopic(1) - 将固定的主题从社区讨论板顶部取消固定。
更多信息请参阅 VK API: Board
数据库
这些方法提供对VK教育机构数据库的访问。数据访问免费且不需要授权,但来自一个IP地址的请求数量可能有限。如果您需要执行许多请求,我们建议您从客户端使用JSONP调用这些方法。
所需权限: groups。
getChairs(2) - 返回指定院系中的椅子列表。getCities(2) - 返回城市列表。getCitiesById(2) - 根据ID返回城市信息。getCountries(2) - 返回国家列表。getCountriesById(2) - 根据ID返回国家信息。getFaculties(2) - 返回院系列表(即大学部门)。getRegions(2) - 返回地区列表。getSchoolClasses(2) - 返回指定国家的学校班级列表。getSchools(2) - 返回学校列表。getStreetsById(2) - 根据ID返回街道信息。getUniversities(2) - 返回高等教育机构列表。
更多信息请查看 VK API: Database
文档
所需权限: docs.
add(2) - 将文档复制到用户或社区文档列表。delete(2) - 删除用户或社区文档。edit(2) - 编辑文档。get(2) - 返回用户或社区文档的详细信息。getById(2) - 根据ID返回文档信息。getTypes(2) - 返回当前用户可用的文档类型。getUploadServer(2) - 返回文档上传的服务器地址。getWallUploadServer(2) (4) - 返回将文档上传到用户或社区墙面的服务器地址。save(2) (4) - 在服务器上上传文档后保存文档。search(2) (4) - 根据搜索条件返回文档列表。
更多信息请查看 VK API: Docs
执行
更多信息请查看 VK API: Execute
朋友
所需权限: messages.
add(1) - 同意或创建好友请求。addList(1) - 为当前用户创建一个新的好友列表。areFriends(2) - 检查当前用户与其他指定用户之间的好友关系状态。同时返回信息,指定是否存在已发送或接收的好友请求(新关注者)。delete(1) - 拒绝好友请求或从当前用户的好友列表中删除用户。deleteAllRequests(1) - 标记所有收到的好友请求为已查看。deleteList(1) - 删除当前用户的好友列表。edit(1) - 编辑选定用户的好友列表。editList(1) - 编辑当前用户的好友列表。get(2) - 返回用户ID列表或关于用户好友的详细信息。getAppUsers(2) - 返回已安装应用程序的当前用户好友的ID列表。getByPhones(1) - 返回当前用户好友的电话号码列表,这些号码已验证或已在个人资料中指定。getLists(1) - 返回用户好友列表。getMutual(2) - 返回两位用户共同好友的用户ID列表。getOnline(2) - 返回当前用户好友在线的用户ID列表。getRecent(2) - 返回当前用户最近添加的好友的用户ID列表。getRequests(1) - 返回当前用户收到的和发送的好友请求的信息。getSuggestions(1) - 返回当前用户可能认识的用户列表。为了使方法返回足够多的建议,首先需要调用方法 account.importContacts。search(2) - 返回符合搜索条件的朋友列表。
更多信息请查看 VK API: 好友
赞
所需访问权限: wall。
add(1) - 将指定的对象添加到当前用户的赞列表中。delete(1) - 从当前用户的赞列表中删除指定的对象。getList(2) - 返回已将指定对象添加到他们赞列表中的用户的ID列表。isLiked(2) - 检查指定用户赞列表中的对象。
更多信息请查看 VK API: 赞
消息
所需权限: messages.
send- 发送消息。
更多信息请查看 VK API: Messages
(1) 此方法可以通过在 Standalone-app 中通过 Implicit Flow 获得的用户令牌来调用。
(2) 此方法可以通过 用户令牌 来调用。
(3) 此方法可以通过 服务令牌 来调用。
(4) 此方法可以通过 社区令牌 来调用。
版权和许可
Vk 由 Andrey Helldar 为 Laravel Framework 5.4 或更高版本编写,并许可于 MIT 许可证。
翻译
文本和评论的翻译由 Google 翻译提供。翻译帮助 +1 在 karma :)
对 VK API 方法的描述摘自 VK API。
