【代码片段】uTools Api请求

简介: 开发uTools插件时要与uToolsApi交互

开发uTools插件时要与uToolsApi交互,这里写一个获取uTools用户信息的api对接示例:

class UToolsService {

    private $plugin_id;
    private $secret;

    private $baseurl = "https://open.u-tools.cn";
    private $baseinfo_uri = "/baseinfo";

    public function __construct($plugin_id, $secret) {
        $this->plugin_id = $plugin_id;
        $this->secret = $secret;
    }

    /**
     * 获取登录基础信息
     * @param array $access_token
     * @return mixed
     */
    public function getLoginBaseInfo($access_token) {
        $params = [
            "access_token" => $access_token,
        ];

        $data = $this->sendGetRequest($this->baseinfo_uri, $params);
        return $data;
    }

    /**
     * 获取完整参数
     * @param array $params
     * @return array
     */
    private function getFullParams(array $params) {
        $params["plugin_id"] = $this->plugin_id;
        $params["timestamp"] = time();

        ksort($params);
        $str = http_build_query($params);

        $params["sign"] = hash_hmac("sha256", $str, $this->secret);
        return $params;
    }

    /**
     * 发送请求
     * @param string $uri
     * @param array $params
     * @return mixed
     */
    private function sendGetRequest($uri, $params) {
        $params = $this->getFullParams($params);
        $url = $this->baseurl . $uri . "?" . http_build_query($params);

        $header = [
            "Accept:application/json"
        ];

        $result = curl($url, null, $header);
        return $result;
    }
}

curl方法自行实现啊,这里就不写上去了。

相关文章
|
3天前
|
Prometheus 网络协议 JavaScript
api 网关 kong 数据库记录请求响应报文
Kong的tcp-log-with-body插件是一个高效的工具,它能够转发Kong处理的请求和响应。这个插件非常适用于需要详细记录API请求和响应信息的情景,尤其是在调试和排查问题时。
58 0
api 网关 kong 数据库记录请求响应报文
|
3天前
|
Web App开发 前端开发 网络协议
API 请求慢?这次锅真不在后端
API 请求慢?这次锅真不在后端
|
7月前
|
API 对象存储
可能是由于API请求的策略已经过期
可能是由于API请求的策略已经过期
57 3
|
3天前
|
JSON 前端开发 JavaScript
Fetch API与Ajax请求
Fetch API是JavaScript的一种新方法,用于网络请求,提供简洁的Promise-based语法和更多功能,如处理头、取消请求及跨域支持,比Ajax更强大。尽管不完全替代Ajax,尤其在老浏览器或需要底层控制时,Fetch API仍是现代浏览器中获取资源的优选工具。例如,以下代码展示了如何使用Fetch API进行GET和POST请求。
|
3天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
16 3
|
3天前
|
API 前端开发 JavaScript
Spartacus 中 saved cart 的 occ API 请求
Spartacus 中 saved cart 的 occ API 请求
18 0
Spartacus 中 saved cart 的 occ API 请求
|
3天前
|
Linux API 网络架构
Rest API请求管理最佳实践:RestClient-cpp库的应用案例
Rest API请求管理最佳实践:RestClient-cpp库的应用案例
|
6月前
|
API Go 调度
API请求执行流程_milvus源码解析
API请求执行流程_milvus源码解析
113 0
|
3天前
|
前端开发 API 数据处理
uni-app 封装api请求
uni-app 封装api请求
18 0
|
3天前
|
JSON 缓存 API
淘宝天猫获取sku详细信息 API 调用文档 及请求代码
淘宝天猫获取SKU详细信息的API调用通常涉及到商品信息的API接口。在淘宝开放平台或天猫开放平台上,你可以找到相关的API文档和调用示例。下面是一个简化的步骤和示例代码来展示如何调用这些API:

热门文章

最新文章