290.md 2.8 KB
Newer Older
Lab机器人's avatar
readme  
Lab机器人 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
# Applications API

> 原文:[https://docs.gitlab.com/ee/api/applications.html](https://docs.gitlab.com/ee/api/applications.html)

*   [Create an application](#create-an-application)
*   [List all applications](#list-all-applications)
*   [Delete an application](#delete-an-application)

# Applications API[](#applications-api "Permalink")

在 GitLab 10.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8160) .

应用程序 API 在以下 OAuth 应用程序上运行:

*   [Using GitLab as an authentication provider](../integration/oauth_provider.html).
*   [Allowing access to GitLab resources on a user’s behalf](oauth2.html).

**注意:**只有管​​理员用户才能使用 Applications API.

## Create an application[](#create-an-application "Permalink")

通过发布 JSON 有效负载来创建应用程序.

如果请求成功,则返回`200` .

```
POST /applications 
```

Parameters:

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | yes | 应用程序的名称. |
| `redirect_uri` | string | yes | 重定向应用程序的 URI. |
| `scopes` | string | yes | 应用范围. |
| `confidential` | boolean | no | 该应用程序将在可以对客户机密保密的地方使用. 本机移动应用程序和单页应用程序被认为是非机密的. 如果未提供,则默认为`true` |

请求示例:

```
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=MyApplication&redirect_uri=http://redirect.uri&scopes=" "https://gitlab.example.com/api/v4/applications" 
```

响应示例:

```
{  "id":1,  "application_id":  "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",  "application_name":  "MyApplication",  "secret":  "ee1dd64b6adc89cf7e2c23099301ccc2c61b441064e9324d963c46902a85ec34",  "callback_url":  "http://redirect.uri",  "confidential":  true  } 
```

## List all applications[](#list-all-applications "Permalink")

列出所有注册的应用程序.

```
GET /applications 
```

请求示例:

```
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/applications" 
```

响应示例:

```
[  {  "id":1,  "application_id":  "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",  "application_name":  "MyApplication",  "callback_url":  "http://redirect.uri",  "confidential":  true  }  ] 
```

**注意:**此 API 不会公开`secret`值.

## Delete an application[](#delete-an-application "Permalink")

删除特定的应用程序.

如果请求成功,则返回`204` .

```
DELETE /applications/:id 
```

Parameters:

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer | yes | 应用程序的 ID(不是 application_id). |

请求示例:

```
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/applications/:id" 
```