跳转至

用户令牌

版本:v1

认证方式:Bearer Token

目录

接口列表

令牌列表

接口说明

获取用户令牌列表

基本信息

  • 接口名称:令牌列表
  • 请求方式:GET
  • 请求路径:/AccessToken/{appKey}

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Query 参数
参数名 类型 示例值 参数描述 是否必填
userId integer - 用户ID
skip integer - 跳过的记录数
take integer - 获取的记录数

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/AccessToken/{appKey}"))
            .header("Authorization", "Bearer {your_access_token}");


        requestBuilder.method("get", HttpRequest.BodyPublishers.noBody());

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/AccessToken/{appKey}"
headers = {
    "Authorization": "Bearer {your_access_token}"
}

response = requests.get(
    url,
    headers=headers
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error

    req, err = http.NewRequest("get", "{server}/AccessToken/{appKey}", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');

const config = {
    method: 'get',
    url: '{server}/AccessToken/{appKey}',
    headers: {
        'Authorization': 'Bearer {your_access_token}'
    }
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/AccessToken/{appKey}";
$headers = [
    "Authorization: Bearer {your_access_token}"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "get");

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;
            response = await client.getAsync("{server}/AccessToken/{appKey}");

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/AccessToken/{appKey}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"

response = http.request(request)
puts response.body
1
2
3
4
5
6
7
8
fetch("{server}/AccessToken/{appKey}", {
    method: "get",
    headers: {
        "Authorization": "Bearer {your_access_token}"
    }
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/AccessToken/{appKey}")
            .addHeader("Authorization", "Bearer {your_access_token}");
        requestBuilder.method("get", null);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/AccessToken/{appKey}")!
var request = URLRequest(url: url)
request.httpMethod = "get"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

{
    "code": 200          // 状态码,
    "data": {
    "total": "0",
    "data": [
      {
          "id": "0"          // 用户令牌的唯一标识符。,
          "userID": "0"          // 与令牌关联的用户ID。,
          "enable": false          // 指示令牌是否处于启用状态。,
          "permissions": ""          // 令牌拥有的权限列表,多个权限以逗号分隔。,
          "title": ""          // 令牌的标题或名称,用于标识令牌。,
          "accessToken": ""          // 访问令牌的具体值,用于身份验证。,
          "tags": ""          // 用于分类或标记令牌的标签。,
          "description": ""          // 令牌的详细描述信息。,
          "expireTime": ""          // 令牌的过期时间,超过该时间令牌将失效。,
          "createDate": ""          // 令牌的创建日期,默认为当前时间。,
          "lastUpdate": ""          // 令牌的最后更新日期,默认为当前时间。
      }
    ]
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data AccessTokenListResult -
error string 错误信息

创建令牌

接口说明

创建新的用户令牌

基本信息

  • 接口名称:创建令牌
  • 请求方式:POST
  • 请求路径:/AccessToken/{appKey}

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
title string - -
tags string - -
userID integer - -
description string - -
permissions string - -
expireInDays integer - -

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/AccessToken/{appKey}"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/AccessToken/{appKey}"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/AccessToken/{appKey}", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
};

const config = {
    method: 'post',
    url: '{server}/AccessToken/{appKey}',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/AccessToken/{appKey}";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/AccessToken/{appKey}", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/AccessToken/{appKey}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
};

fetch("{server}/AccessToken/{appKey}", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/AccessToken/{appKey}")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/AccessToken/{appKey}")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
6
7
8
9
{
    "code": 200          // 状态码,
    "data": {
    "access_token": "",
    "token_type": "",
    "expires_in": "0"
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data TokenModel -
error string 错误信息

更新令牌

接口说明

更新现有的用户令牌

基本信息

  • 接口名称:更新令牌
  • 请求方式:PUT
  • 请求路径:/AccessToken/{appKey}/{id}

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
id - 令牌ID
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
title string 默认标题 访问令牌的标题
tags string - 访问令牌的标签
description string - 访问令牌的描述
permissions string - 访问令牌的权限
enable boolean - 是否启用访问令牌

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/AccessToken/{appKey}/{id}"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("put", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/AccessToken/{appKey}/{id}"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
}

response = requests.put(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("put", "{server}/AccessToken/{appKey}/{id}", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
};

const config = {
    method: 'put',
    url: '{server}/AccessToken/{appKey}/{id}',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/AccessToken/{appKey}/{id}";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "put");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.putAsync("{server}/AccessToken/{appKey}/{id}", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/AccessToken/{appKey}/{id}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
};

fetch("{server}/AccessToken/{appKey}/{id}", {
    method: "put",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/AccessToken/{appKey}/{id}")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("put", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/AccessToken/{appKey}/{id}")!
var request = URLRequest(url: url)
request.httpMethod = "put"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": false          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data boolean 响应数据
error string 错误信息

删除令牌

接口说明

删除用户令牌

基本信息

  • 接口名称:删除令牌
  • 请求方式:DELETE
  • 请求路径:/AccessToken/{appKey}/{id}

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
id - 令牌ID
appKey - -

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/AccessToken/{appKey}/{id}"))
            .header("Authorization", "Bearer {your_access_token}");


        requestBuilder.method("delete", HttpRequest.BodyPublishers.noBody());

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/AccessToken/{appKey}/{id}"
headers = {
    "Authorization": "Bearer {your_access_token}"
}

response = requests.delete(
    url,
    headers=headers
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error

    req, err = http.NewRequest("delete", "{server}/AccessToken/{appKey}/{id}", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');

const config = {
    method: 'delete',
    url: '{server}/AccessToken/{appKey}/{id}',
    headers: {
        'Authorization': 'Bearer {your_access_token}'
    }
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/AccessToken/{appKey}/{id}";
$headers = [
    "Authorization: Bearer {your_access_token}"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "delete");

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;
            response = await client.deleteAsync("{server}/AccessToken/{appKey}/{id}");

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/AccessToken/{appKey}/{id}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"

response = http.request(request)
puts response.body
1
2
3
4
5
6
7
8
fetch("{server}/AccessToken/{appKey}/{id}", {
    method: "delete",
    headers: {
        "Authorization": "Bearer {your_access_token}"
    }
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/AccessToken/{appKey}/{id}")
            .addHeader("Authorization", "Bearer {your_access_token}");
        requestBuilder.method("delete", null);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/AccessToken/{appKey}/{id}")!
var request = URLRequest(url: url)
request.httpMethod = "delete"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": false          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data boolean 响应数据
error string 错误信息

数据结构

AccessTokenListResult

{
    "total": "0",
    "data": [
      {
          "id": "0"          // 用户令牌的唯一标识符。,
          "userID": "0"          // 与令牌关联的用户ID。,
          "enable": false          // 指示令牌是否处于启用状态。,
          "permissions": ""          // 令牌拥有的权限列表,多个权限以逗号分隔。,
          "title": ""          // 令牌的标题或名称,用于标识令牌。,
          "accessToken": ""          // 访问令牌的具体值,用于身份验证。,
          "tags": ""          // 用于分类或标记令牌的标签。,
          "description": ""          // 令牌的详细描述信息。,
          "expireTime": ""          // 令牌的过期时间,超过该时间令牌将失效。,
          "createDate": ""          // 令牌的创建日期,默认为当前时间。,
          "lastUpdate": ""          // 令牌的最后更新日期,默认为当前时间。
      }
    ]
}
字段名 类型 描述 是否必填
total integer -
data array -

AccessTokenListResultApiResponse

{
    "code": 200          // 状态码,
    "data": {
    "total": "0",
    "data": [
      {
          "id": "0"          // 用户令牌的唯一标识符。,
          "userID": "0"          // 与令牌关联的用户ID。,
          "enable": false          // 指示令牌是否处于启用状态。,
          "permissions": ""          // 令牌拥有的权限列表,多个权限以逗号分隔。,
          "title": ""          // 令牌的标题或名称,用于标识令牌。,
          "accessToken": ""          // 访问令牌的具体值,用于身份验证。,
          "tags": ""          // 用于分类或标记令牌的标签。,
          "description": ""          // 令牌的详细描述信息。,
          "expireTime": ""          // 令牌的过期时间,超过该时间令牌将失效。,
          "createDate": ""          // 令牌的创建日期,默认为当前时间。,
          "lastUpdate": ""          // 令牌的最后更新日期,默认为当前时间。
      }
    ]
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data - -
error string 错误信息

AccessTokenPostRequest

1
2
3
4
5
6
7
8
{
    "title": "",
    "tags": "",
    "userID": "0",
    "description": "",
    "permissions": "",
    "expireInDays": "0"
}
字段名 类型 描述 是否必填
title string -
tags string -
userID integer -
description string -
permissions string -
expireInDays integer -

AccessTokenPutRequest

1
2
3
4
5
6
7
{
    "title": "默认标题"          // 访问令牌的标题,
    "tags": ""          // 访问令牌的标签,
    "description": ""          // 访问令牌的描述,
    "permissions": ""          // 访问令牌的权限,
    "enable": false          // 是否启用访问令牌
}
字段名 类型 描述 是否必填
title string 访问令牌的标题
tags string 访问令牌的标签
description string 访问令牌的描述
permissions string 访问令牌的权限
enable boolean 是否启用访问令牌

BooleanApiResponse

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": false          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data boolean 响应数据
error string 错误信息

TokenModel

1
2
3
4
5
{
    "access_token": "",
    "token_type": "",
    "expires_in": "0"
}
字段名 类型 描述 是否必填
access_token string -
token_type string -
expires_in integer -

TokenModelApiResponse

1
2
3
4
5
6
7
8
9
{
    "code": 200          // 状态码,
    "data": {
    "access_token": "",
    "token_type": "",
    "expires_in": "0"
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data - -
error string 错误信息

UserAccessToken

{
    "id": "0"          // 用户令牌的唯一标识符。,
    "userID": "0"          // 与令牌关联的用户ID。,
    "enable": false          // 指示令牌是否处于启用状态。,
    "permissions": ""          // 令牌拥有的权限列表,多个权限以逗号分隔。,
    "title": ""          // 令牌的标题或名称,用于标识令牌。,
    "accessToken": ""          // 访问令牌的具体值,用于身份验证。,
    "tags": ""          // 用于分类或标记令牌的标签。,
    "description": ""          // 令牌的详细描述信息。,
    "expireTime": ""          // 令牌的过期时间,超过该时间令牌将失效。,
    "createDate": ""          // 令牌的创建日期,默认为当前时间。,
    "lastUpdate": ""          // 令牌的最后更新日期,默认为当前时间。
}
字段名 类型 描述 是否必填
id integer 用户令牌的唯一标识符。
userID integer 与令牌关联的用户ID。
enable boolean 指示令牌是否处于启用状态。
permissions string 令牌拥有的权限列表,多个权限以逗号分隔。
title string 令牌的标题或名称,用于标识令牌。
accessToken string 访问令牌的具体值,用于身份验证。
tags string 用于分类或标记令牌的标签。
description string 令牌的详细描述信息。
expireTime string 令牌的过期时间,超过该时间令牌将失效。
createDate string 令牌的创建日期,默认为当前时间。
lastUpdate string 令牌的最后更新日期,默认为当前时间。

通用错误码

错误码 说明
200 成功