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。