Skip to main content
REST API 现已经过版本控制。 有关详细信息,请参阅“关于 API 版本控制”。

电子邮件的 REST API 终结点

使用 REST API 管理经过身份验证的用户的电子邮件地址。

关于电子邮件管理

如果请求 URL 不包含 {username} 参数,则响应将针对已登录的用户(并且必须使用请求传递 身份验证信息)。 在 user 范围,通过 OAuth 进行身份验证时,将包含其他专用信息,例如用户是否已启用双因素身份验证。

Set primary email visibility for the authenticated user

Sets the visibility for your primary email addresses.

“Set primary email visibility for the authenticated user”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Email addresses" user permissions (write)

“Set primary email visibility for the authenticated user”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

正文参数
名称, 类型, 说明
visibility string 必须

Denotes whether an email is publicly visible.

可以是以下选项之一: public, private

“Set primary email visibility for the authenticated user”的 HTTP 响应状态代码

状态代码说明
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

“Set primary email visibility for the authenticated user”的示例代码

请求示例

patch/user/email/visibility
curl -L \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/email/visibility \ -d '{"visibility":"private"}'

Response

Status: 200
[ { "email": "octocat@github.com", "primary": true, "verified": true, "visibility": "private" } ]

List email addresses for the authenticated user

Lists all of your email addresses, and specifies which one is visible to the public.

OAuth app tokens and personal access tokens (classic) need the user:email scope to use this endpoint.

“List email addresses for the authenticated user”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Email addresses" user permissions (read)

“List email addresses for the authenticated user”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

查询参数
名称, 类型, 说明
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

默认: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

默认: 1

“List email addresses for the authenticated user”的 HTTP 响应状态代码

状态代码说明
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

“List email addresses for the authenticated user”的示例代码

请求示例

get/user/emails
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/emails

Response

Status: 200
[ { "email": "octocat@github.com", "verified": true, "primary": true, "visibility": "public" } ]

Add an email address for the authenticated user

OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

“Add an email address for the authenticated user”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Email addresses" user permissions (write)

“Add an email address for the authenticated user”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

正文参数
名称, 类型, 说明
emails array of strings 必须

Adds one or more email addresses to your GitHub account. Must contain at least one email address. Note: Alternatively, you can pass a single email address or an array of emails addresses directly, but we recommend that you pass an object using the emails key.

“Add an email address for the authenticated user”的 HTTP 响应状态代码

状态代码说明
201

Created

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

“Add an email address for the authenticated user”的示例代码

请求示例

post/user/emails
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/emails \ -d '{"emails":["octocat@github.com","mona@github.com","octocat@octocat.org"]}'

Response

Status: 201
[ { "email": "octocat@octocat.org", "primary": false, "verified": false, "visibility": "public" }, { "email": "octocat@github.com", "primary": false, "verified": false, "visibility": null }, { "email": "mona@github.com", "primary": false, "verified": false, "visibility": null } ]

Delete an email address for the authenticated user

OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

“Delete an email address for the authenticated user”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Email addresses" user permissions (write)

“Delete an email address for the authenticated user”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

正文参数
名称, 类型, 说明
emails array of strings 必须

Email addresses associated with the GitHub user account.

“Delete an email address for the authenticated user”的 HTTP 响应状态代码

状态代码说明
204

No Content

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

“Delete an email address for the authenticated user”的示例代码

请求示例

delete/user/emails
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/emails \ -d '{"emails":["octocat@github.com","mona@github.com"]}'

Response

Status: 204

List public email addresses for the authenticated user

Lists your publicly visible email address, which you can set with the Set primary email visibility for the authenticated user endpoint.

OAuth app tokens and personal access tokens (classic) need the user:email scope to use this endpoint.

“List public email addresses for the authenticated user”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Email addresses" user permissions (read)

如果仅请求公共资源,则无需身份验证或上述权限即可使用此终结点。

“List public email addresses for the authenticated user”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

查询参数
名称, 类型, 说明
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

默认: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

默认: 1

“List public email addresses for the authenticated user”的 HTTP 响应状态代码

状态代码说明
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

“List public email addresses for the authenticated user”的示例代码

请求示例

get/user/public_emails
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/public_emails

Response

Status: 200
[ { "email": "octocat@github.com", "verified": true, "primary": true, "visibility": "public" } ]