mvtester / tester-testsdks-vsdks-sdk
测试
Requires
- php: ^7.2 || ^8.0
- ext-json: *
- apimatic/core: ~0.3.0
- apimatic/core-interfaces: ~0.1.0
- apimatic/unirest-php: ^4.0.0
Requires (Dev)
- phan/phan: 5.4.2
- squizlabs/php_codesniffer: ^3.5
README
简介
Verizon Edge Discovery 服务 API 可将您的应用程序客户端定向连接到每会话中适用于您多接入边缘计算 (MEC) 应用程序的最佳服务端点。Edge Discovery 服务会考虑设备的当前位置、其 IP 锚点位置、当前网络流量和其他因素,以确定设备应连接到哪个 5G Edge 平台。
Verizon 服务条款: https://www.verizon.com/business/5g-edge-portal/legal.html
安装包
运行以下命令安装包并将依赖项自动添加到您的 composer.json 文件中:
composer require "mvtester/tester-testsdks-vsdks-sdk:1.0.1"
或者根据以下步骤手动将其添加到 composer.json 文件中:
"require": { "mvtester/tester-testsdks-vsdks-sdk": "1.0.1" }
您也可以在以下位置查看此包:https://packagist.org.cn/packages/mvtester/tester-testsdks-vsdks-sdk#1.0.1
初始化 API 客户端
注意: 客户端文档可在此处找到:here.
以下参数可配置为 API 客户端
API 客户端可初始化如下
$client = VerizonClientBuilder::init() ->oauthClientId('OAuthClientId') ->oauthClientSecret('OAuthClientSecret') ->vZM2mToken('VZ-M2M-Token') ->oauthScopes([ VerizonLib\Models\OauthScopeEnum::DISCOVERYREAD, VerizonLib\Models\OauthScopeEnum::SERVICEPROFILEREAD, VerizonLib\Models\OauthScopeEnum::SERVICEPROFILEWRITE, VerizonLib\Models\OauthScopeEnum::SERVICEREGISTRYREAD, VerizonLib\Models\OauthScopeEnum::SERVICEREGISTRYWRITE, VerizonLib\Models\OauthScopeEnum::TS_MEC_FULLACCESS, VerizonLib\Models\OauthScopeEnum::TS_MEC_LIMITACCESS, VerizonLib\Models\OauthScopeEnum::TS_APPLICATION_RO, VerizonLib\Models\OauthScopeEnum::EDGEDISCOVERYREAD, VerizonLib\Models\OauthScopeEnum::EDGESERVICEPROFILEREAD, VerizonLib\Models\OauthScopeEnum::EDGESERVICEPROFILEWRITE, VerizonLib\Models\OauthScopeEnum::EDGESERVICEREGISTRYREAD, VerizonLib\Models\OauthScopeEnum::EDGESERVICEREGISTRYWRITE, VerizonLib\Models\OauthScopeEnum::READ, VerizonLib\Models\OauthScopeEnum::WRITE ]) ->environment('Production') ->build();
API 调用返回一个包含以下字段的 ApiResponse
对象
授权
此 API 使用 OAuth 2 Client Credentials Grant
。
客户端凭证授权
如果此 SDK 选择使用 OAuth 2.0 客户端凭证授权,则您的应用程序必须在执行端点调用之前获取用户授权。此授权包括以下步骤
fetchToken()
方法会将 OAuth 客户端凭证交换为 访问令牌。访问令牌是一个包含授权客户端请求和刷新令牌本身信息的对象。
您必须使用 作用域 初始化客户端,这些作用域是您需要访问权限的。
try { $token = $client->getClientCredentialsAuth()->fetchToken(); // re-build the client with oauth token $client = $client->toBuilder()->oauthToken($token)->build(); } catch (VerizonLib\Exceptions\ApiException $e) { // handle exception }
客户端现在可以做出授权的端点调用。
作用域
作用域允许您的应用程序仅请求访问所需的资源,同时使用户能够控制授予您应用程序的访问量。可用的作用域在 OauthScopeEnum
枚举中定义。
存储访问令牌以重复使用
建议您存储访问令牌以重复使用。
// store token $_SESSION['access_token'] = $client->getClientCredentialsAuth()->getOauthToken();
从存储的令牌创建客户端
要从存储的访问令牌授权客户端,只需在创建客户端之前将访问令牌设置在配置中,并设置其他配置参数
// load token later... $token = $_SESSION['access_token']; // re-build the client with oauth token $client = $client->toBuilder()->oauthToken($token)->build();
完整示例
<?php require_once __DIR__.'/vendor/autoload.php'; session_start(); // Client configuration $client = VerizonClientBuilder::init() ->oauthClientId('OAuthClientId') ->oauthClientSecret('OAuthClientSecret') ->vZM2mToken('VZ-M2M-Token') ->oauthScopes([ VerizonLib\Models\OauthScopeEnum::DISCOVERYREAD, VerizonLib\Models\OauthScopeEnum::SERVICEPROFILEREAD, VerizonLib\Models\OauthScopeEnum::SERVICEPROFILEWRITE, VerizonLib\Models\OauthScopeEnum::SERVICEREGISTRYREAD, VerizonLib\Models\OauthScopeEnum::SERVICEREGISTRYWRITE, VerizonLib\Models\OauthScopeEnum::TS_MEC_FULLACCESS, VerizonLib\Models\OauthScopeEnum::TS_MEC_LIMITACCESS, VerizonLib\Models\OauthScopeEnum::TS_APPLICATION_RO, VerizonLib\Models\OauthScopeEnum::EDGEDISCOVERYREAD, VerizonLib\Models\OauthScopeEnum::EDGESERVICEPROFILEREAD, VerizonLib\Models\OauthScopeEnum::EDGESERVICEPROFILEWRITE, VerizonLib\Models\OauthScopeEnum::EDGESERVICEREGISTRYREAD, VerizonLib\Models\OauthScopeEnum::EDGESERVICEREGISTRYWRITE, VerizonLib\Models\OauthScopeEnum::READ, VerizonLib\Models\OauthScopeEnum::WRITE ]) ->environment('Production') ->build(); // Obtain access token, restore from cache if possible if (isset($_SESSION['access_token'])) { $token = $_SESSION['access_token']; // re-build the client with oauth token $client = $client->toBuilder()->oauthToken($token)->build(); } else { try { // fetch an oauth token to authorize the client $token = $client->getClientCredentialsAuth()->fetchToken(); // re-build the client with oauth token $client = $client->toBuilder()->oauthToken($token)->build(); // store token $_SESSION['access_token'] = $token; } catch (VerizonLib\Exceptions\ApiException $e) { // handle exception } } // the client is now authorized; you can use $client to make endpoint calls
API 列表
- 5G Edge 平台
- 服务端点
- 服务配置文件
- 设备管理
- 设备组
- 会话管理
- 连接回调
- 账户请求
- 服务计划
- 设备配置文件管理
- 设备监控
- UICC 设备配置文件管理
- 设备位置
- 设备位置订阅
- 设备位置回调
- 使用触发器管理
- 软件管理订阅 V1
- 软件管理许可证 V1
- 固件 V1
- 软件管理回调 V1
- 软件管理报告 V1
- 软件管理订阅 V2
- 软件管理许可证 V2
- 活动 V2
- 软件管理回调 V2
- 软件管理报告 V2
- 客户端日志
- 服务器日志
- 配置文件
- 软件管理订阅 V3
- 软件管理许可证 V3
- 活动 V3
- 软件管理报告 V3
- 固件 V3
- 账户设备
- 软件管理回呼 V3
- SIM Securefor Io T 许可证
- 账户订阅
- 性能指标
- 诊断订阅
- 诊断观测
- 诊断历史
- 诊断设置
- 诊断回呼
- 诊断工厂重置
- 云连接器订阅
- 云连接器设备
- 设备服务管理
- 设备报告
- 超精确位置回呼
- 异常设置
- 异常触发
- MEC 网站
- 服务启动配置文件
- 服务启动请求
- 服务实例
- 服务实例操作
- 服务上线
- 服务元数据
- CSP 配置文件
- 服务索赔
- 无线网络性能
- 固定无线资格
- OAuth 授权
- 账户
- 短信
- 排除项
- 计费
- 目标
- 仓库