freedomcore/vk-api

FreedomCore VK API 库

1.0.5 2016-04-01 17:58 UTC

This package is auto-updated.

Last update: 2024-09-24 23:18:21 UTC


README

Build Status Scrutinizer Code Quality Latest Stable Version Total Downloads Downloads Month License

这是一个基于官方VK API 文档的 PHP VK API 客户端

目录

简介

这是一个纯 PHP 实现的 VK API 客户端库。可以通过向 API 文件夹添加额外的资源类来轻松扩展。

优点

  • 可以授权具有特定作用域的用户
  • 在执行 API 调用之前可以检查所需的作用域
  • 与:用户、群组、数据存储、账户和文档 API 一起工作
  • 易于修改
  • 易于使用

此代码可在Github上找到。欢迎提交拉取请求。

使用 Composer 安装此包

通过 Composer 安装此包。编辑您的项目 composer.json 文件以要求 freedomcore/vk-api

创建 composer.json 文件

{
    "name": "nameofyourproject/nameofyourproject",
    "type": "project",
    "require": {
        "php": ">=5.6.0",
        "freedomcore/vk-api": "*"
    }
}

然后运行 composer update

或者

在您的命令行中运行此命令

composer require freedomcore/vk-api

配置

  1. 创建新对象
    a. 在授权完成之前与库一起工作
    $vkObject = new FreedomCore\VK\VKBase('{APPLICATION_ID}', '{API_SECRET}');
    
    b. 在授权完成后与库一起工作
    $vkObject = new FreedomCore\VK\VKBase('{APPLICATION_ID}', '{API_SECRET}', '{ACCESS_TOKEN}');
    
  2. 如何授权用户
    a. 生成授权链接
    $vkObject->getAuthorizationURL('{SCOPE}', '{CALLBACK_URL}');
    
    b. 使用回调中的密钥获取访问令牌
    $vkObject->getAccessToken('{CODE}');
    
    c. 检查用户是否已授权
    $vkObject->isAuthorized(); // returns true | false
    
  3. 现在您可以与 API 一起工作了

资源

VKBase 资源

这是库的主要资源

此资源中提供了 4 个 API 方法

  1. setAPIVersion({API_VERSION}) - 设置用户提供的 API 版本
  2. getAuthorizationURL({SCOPE}, {CALLBACK_URL}, {RESPONSE_TYPE}, {TEST_MODE}) - 返回带有传递参数的授权链接
  3. getAccessToken({CODE}, {CALLBACK_URL}) - 从授权链接返回访问令牌
  4. isAuthorized() - 返回用户授权状态

VKAccount 资源

此资源允许您获取与用户相关的数据

如何使用

初始化新的 VKAccount 对象

$VKAccount = new FreedomCore\VK\API\VKAccount($vkObject);

现在您可以调用方法,例如

$getCounters = $VKAccount->getCounters();
$getApplicationPermissions = $VKAccount->getAppPermissions({USER_ID});

此资源中提供了 6 个 API 方法

  1. getCounters({USER_FIELDS 可选}) - 获取所有大于零的计数器(消息、视频、朋友等)
  2. setNameInMenu({USER_ID}, {APPLICATION_NAME}) - 如果用户允许,则创建指向应用程序的侧边栏链接
  3. setOnline() - 将状态设置为在线 15 分钟
  4. setOffline() - 将状态设置为离线
  5. getActiveOffers({OFFSET 可选}, {COUNT 可选}) - 返回活动广告(优惠)列表
  6. getAppPermissions() - 获取当前用户在此应用程序中的设置

VKDataStorage 资源

缺少描述

此资源中提供了 3 个 API 方法

  1. get({KEY}, {KEYS}, {USER_ID}, {IS_GLOBAL}) - 返回键参数设置的变量的值
  2. set({KEY}, {VALUE}, {USER_ID}, {IS_GLOBAL}) - 保存键参数设置的变量的值
  3. getKeys({USER_ID}, {IS_GLOBAL}, {OFFSET 可选}, {COUNT 可选}) - 返回所有变量的名称

VKDocuments 资源

注意: 此资源不完整 | 还有 7 个方法需要添加

此资源允许您处理属于用户/群的文档

如何使用

初始化新的 VKDocuments 对象

$VKDocuments = new FreedomCore\VK\API\VKDocuments($vkObject);

现在您可以调用方法,例如

$isMember = $VKDocuments->get(123456, 100); // returns 100 results
$searchForGroups = $VKDocuments->getById('123456_654321'); // gets document by ID

此资源中提供了 3 个 API 方法

  1. get({OWNER_ID}, {COUNT 可选}, {OFFSET 可选}) - 返回关于用户或社区文档的详细信息
  2. getById({DOCUMENT_ID_OR_ARRAY_OF_IDS}) - 根据ID返回文档信息
  3. getUploadServer({COMMUNITY_ID}) - 返回文档上传的服务器地址

VKGroups 资源

如何使用

此资源允许您管理群组和与它们一起工作

初始化新的 VKGroups 对象

$VKGroups = new FreedomCore\VK\API\VKGroups($vkObject);

现在您可以调用方法,例如

$isMember = $VKGroups->isMember(123456, 654321, 1);
$searchForGroups = $VKGroups->search('FreedomCore');

此资源中有 19 个 API 方法

  1. isMember({GROUP_ID}, {USER_ID}, {IS_EXTENDED 可选}) - 返回指定用户是否为社区成员的信息
  2. getById({GROUP_ID}, {GROUP_FIELDS}) - 根据ID(ID)返回社区信息
  3. get({USER_ID}, {IS_EXTENDED 可选}, {FILTER 可选}, {GROUP_FIELDS 可选}) - 返回用户所属社区列表
  4. getMembers({GROUP_ID}, {USERS_FIELDS 可选}) - 返回社区成员列表
  5. join({GROUP_ID}, {IS_EVENT 可选}) - 通过此方法可以加入群组或公共页面,并确认您对活动的参与。
  6. leave({GROUP_ID}) - 通过此方法可以离开群组、公共页面或活动。
  7. search({QUERY}, {GROUP_TYPE 可选}) - 根据子字符串搜索社区。
  8. getInvites({IS_EXTENDED 可选}) - 返回加入社区和活动的邀请列表。
  9. getInvitedUsers({GROUP_ID}, {USERS_FIELDS 可选}) - 返回社区邀请用户列表 (需要版主状态)
  10. banUser({GROUP_ID}, {USER_ID}, {REASON 可选}, {COMMENT 可选}, {BAN_ENDS 可选}, {SHOW_COMMENT 可选}) - 将用户添加到社区黑名单 (需要版主状态)
  11. unbanUser({GROUP_ID}, {USER_ID}) - 从社区黑名单中删除用户 (需要版主状态)
  12. getBanned({GROUP_ID}) - 返回社区黑名单中的用户列表 (需要版主状态)
  13. create({TITLE}, {DESCRIPTION}, {TYPE 可选}, {SUB_TYPE 可选}) - 创建新的社区
  14. edit({GROUP_ID}, {TITLE}, {DESCRIPTION}, {SCREEN_NAME}, {ACCESS}, {WEBSITE}, {SUBJECT}) - 编辑社区 (此方法不完整)
  15. getSettings({GROUP_ID}) - 获取群组设置
  16. getRequests({GROUP_ID}, {FIELDS 可选}, {COUNT 可选}) - 获取群组访问请求
  17. invite({GROUP_ID}, {USER_ID}) - 邀请用户加入群组 (需要版主状态)
  18. removeUser({GROUP_ID}, {USER_ID}) - 从群组中删除用户 (需要版主状态)
  19. approveRequest({GROUP_ID}, {USER_ID}) - 批准用户加入群组的请求 (需要版主状态)

VKUsers 资源

此资源允许您处理用户及其数据

如何使用

初始化新的 VKUsers 对象

$VKUsers= new FreedomCore\VK\API\VKUsers($vkObject);

现在您可以调用方法,例如

$isMember = $VKUsers->isMember(123456, 654321, 1);
$searchForGroups = $VKUsers->search('FreedomCore');

此资源中提供了 6 个 API 方法

  1. get({USER_IDS 数组}, {FIELDS 可选}, {CASE 可选}) - 返回关于用户的详细信息
  2. search({QUERY}, {IS_ONLINE 可选}, {FIELDS 可选}, {SORT 可选}, {COUNT 可选}) - 返回符合搜索条件的用户列表
  3. isAppUser({USER_ID}) - 返回信息,确定用户是否安装了应用程序
  4. getSubscriptions({USER_ID}, {COMBINE 可选}, {FIELDS 可选}, {COUNT 可选}) - 返回用户关注的用户和社区ID列表
  5. getFollowers({USER_ID}, {OFFSET 可选}, {COUNT 可选}, {FIELDS 可选}, {CASE 可选}) - 返回关注特定用户且按添加日期排序的用户ID列表,最近添加的排在最前面
  6. getNearby({LATITUDE}, {LONGITUDE}, {TIMEOUT 可选}, {RADIUS 可选}, {FIELDS 可选}, {CASE 可选}) - 根据当前纬度和经度获取附近用户