GitHub Marketplace 的 REST API 端点
使用 REST API 与 GitHub Marketplace 交互
关于 GitHub Marketplace
有关 GitHub Marketplace 的更多信息,请参阅“GitHub Marketplace”。
这些端点允许您查看哪些客户正在使用定价计划、查看客户的购买情况以及查看帐户是否具有活动订阅。
使用存根端点进行测试
您可以使用 **存根数据** 测试您的 GitHub 应用。存根数据是硬编码的伪造数据,不会根据实际订阅更改。
要使用存根数据进行测试,请使用存根端点替换其生产对应端点。这使您可以在 GitHub Marketplace 上列出 GitHub 应用之前测试 API 逻辑是否成功。
在部署 GitHub 应用之前,请确保将存根端点替换为生产端点。
获取帐户的订阅计划
显示用户或组织帐户是否主动订阅经过身份验证的 GitHub 应用列出的计划。当有人提交在结算周期结束前不会处理的计划更改时,您还将看到即将发生的待处理更改。
GitHub 应用必须使用 JWT 访问此端点。OAuth 应用必须使用其客户端 ID 和客户端密钥使用 基本身份验证 访问此端点。
“获取帐户的订阅计划”的细粒度访问令牌
此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。
“获取帐户的订阅计划”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
account_id 整数 必需account_id 参数 |
“获取帐户的订阅计划”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
401 | 需要身份验证 |
404 | 当帐户未购买列表时,返回“未找到” |
“获取帐户的订阅计划”的代码示例
请求示例
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/marketplace_listing/accounts/ACCOUNT_ID
响应
状态:200
{ "url": "https://api.github.com/orgs/github", "type": "Organization", "id": 4, "login": "github", "organization_billing_email": "[email protected]", "email": "[email protected]", "marketplace_pending_change": { "effective_date": "2017-11-11T00:00:00Z", "unit_count": null, "id": 77, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1111", "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", "id": 1111, "number": 2, "name": "Startup", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 699, "yearly_price_in_cents": 7870, "price_model": "FLAT_RATE", "has_free_trial": true, "state": "published", "unit_name": null, "bullets": [ "最多 10 个私有代码库", "3 个并发构建" ] } }, "marketplace_purchase": { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "最多 25 个私有代码库", "11 个并发构建" ] } } }
列出计划
列出 GitHub Marketplace 列表中包含的所有计划。
GitHub 应用必须使用 JWT 访问此端点。OAuth 应用必须使用其客户端 ID 和客户端密钥使用 基本身份验证 访问此端点。
“列出计划”的细粒度访问令牌
此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。
“列出计划”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
per_page 整数每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出计划”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
401 | 需要身份验证 |
404 | 资源未找到 |
“列出计划”的代码示例
请求示例
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/marketplace_listing/plans
响应
状态:200
[ { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "最多 25 个私有代码库", "11 个并发构建" ] } ]
列出计划的帐户
返回与指定计划关联的用户和组织帐户,包括免费计划。对于每个席位的定价,您会看到已购买该计划的帐户列表,包括已购买的席位数。当有人提交在结算周期结束前不会处理的计划更改时,您还将看到即将发生的待处理更改。
GitHub 应用必须使用 JWT 访问此端点。OAuth 应用必须使用其客户端 ID 和客户端密钥使用 基本身份验证 访问此端点。
“列出计划的帐户”的细粒度访问令牌
此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。
“列出计划的帐户”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
plan_id 整数 必需计划的唯一标识符。 |
名称、类型、描述 |
---|
sort 字符串要按其排序结果的属性。 默认: 可以是以下之一: |
direction 字符串要首先返回最旧的帐户,请设置为 可以是以下之一: |
per_page 整数每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出计划的帐户”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
401 | 需要身份验证 |
404 | 资源未找到 |
422 | 验证失败或端点已被滥用。 |
“列出计划的帐户”的代码示例
请求示例
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/marketplace_listing/plans/PLAN_ID/accounts
响应
状态:200
[ { "url": "https://api.github.com/orgs/github", "type": "Organization", "id": 4, "login": "github", "organization_billing_email": "[email protected]", "marketplace_pending_change": { "effective_date": "2017-11-11T00:00:00Z", "unit_count": null, "id": 77, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1111", "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", "id": 1111, "number": 2, "name": "Startup", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 699, "yearly_price_in_cents": 7870, "price_model": "FLAT_RATE", "has_free_trial": true, "state": "published", "unit_name": null, "bullets": [ "最多 10 个私有代码库", "3 个并发构建" ] } }, "marketplace_purchase": { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "最多 25 个私有代码库", "11 个并发构建" ] } } } ]
获取帐户的订阅计划(存根)
显示用户或组织帐户是否主动订阅经过身份验证的 GitHub 应用列出的计划。当有人提交在结算周期结束前不会处理的计划更改时,您还将看到即将发生的待处理更改。
GitHub 应用必须使用 JWT 访问此端点。OAuth 应用必须使用其客户端 ID 和客户端密钥使用 基本身份验证 访问此端点。
“获取帐户的订阅计划(存根)”的细粒度访问令牌
此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。
“获取帐户的订阅计划(存根)”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
account_id 整数 必需account_id 参数 |
“获取帐户的订阅计划(存根)”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
401 | 需要身份验证 |
404 | 当帐户未购买列表时,返回“未找到” |
“获取帐户的订阅计划(存根)”的代码示例
请求示例
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/marketplace_listing/stubbed/accounts/ACCOUNT_ID
响应
状态:200
{ "url": "https://api.github.com/orgs/github", "type": "Organization", "id": 4, "login": "github", "organization_billing_email": "[email protected]", "email": "[email protected]", "marketplace_pending_change": { "effective_date": "2017-11-11T00:00:00Z", "unit_count": null, "id": 77, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1111", "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", "id": 1111, "number": 2, "name": "Startup", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 699, "yearly_price_in_cents": 7870, "price_model": "FLAT_RATE", "has_free_trial": true, "state": "published", "unit_name": null, "bullets": [ "最多 10 个私有代码库", "3 个并发构建" ] } }, "marketplace_purchase": { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "最多 25 个私有代码库", "11 个并发构建" ] } } }
列出计划(存根)
列出 GitHub Marketplace 列表中包含的所有计划。
GitHub 应用必须使用 JWT 访问此端点。OAuth 应用必须使用其客户端 ID 和客户端密钥使用 基本身份验证 访问此端点。
“列出计划(存根)”的细粒度访问令牌
此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。
“列出计划(存根)”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
per_page 整数每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出计划(存根)”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
401 | 需要身份验证 |
“列出计划(存根)”的代码示例
请求示例
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/marketplace_listing/stubbed/plans
响应
状态:200
[ { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "最多 25 个私有代码库", "11 个并发构建" ] } ]
列出计划的账户(存根)
返回与指定计划关联的仓库和组织账户,包括免费计划。对于按席位定价,您会看到已购买该计划的账户列表,包括已购买的席位数。当有人提交计划更改但该更改要到其账单周期结束时才会处理时,您还将看到即将发生的待处理更改。
GitHub 应用必须使用 JWT 访问此端点。OAuth 应用必须使用其客户端 ID 和客户端密钥使用 基本身份验证 访问此端点。
“列出计划的账户(存根)”的细粒度访问令牌
此端点不适用于 GitHub 应用用户访问令牌、GitHub 应用安装访问令牌或细粒度个人访问令牌。
“列出计划的账户(存根)”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
plan_id 整数 必需计划的唯一标识符。 |
名称、类型、描述 |
---|
sort 字符串要按其排序结果的属性。 默认: 可以是以下之一: |
direction 字符串要首先返回最旧的帐户,请设置为 可以是以下之一: |
per_page 整数每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出计划的账户(存根)”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
401 | 需要身份验证 |
“列出计划的账户(存根)”的代码示例
请求示例
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/marketplace_listing/stubbed/plans/PLAN_ID/accounts
响应
状态:200
[ { "url": "https://api.github.com/orgs/github", "type": "Organization", "id": 4, "login": "github", "organization_billing_email": "[email protected]", "marketplace_pending_change": { "effective_date": "2017-11-11T00:00:00Z", "unit_count": null, "id": 77, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1111", "accounts_url": "https://api.github.com/marketplace_listing/plans/1111/accounts", "id": 1111, "number": 2, "name": "Startup", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 699, "yearly_price_in_cents": 7870, "price_model": "FLAT_RATE", "has_free_trial": true, "state": "published", "unit_name": null, "bullets": [ "最多 10 个私有代码库", "3 个并发构建" ] } }, "marketplace_purchase": { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "专业的 CI 解决方案", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "最多 25 个私有代码库", "11 个并发构建" ] } } } ]
列出经过身份验证的用户订阅
列出经过身份验证用户的活动订阅。
“列出经过身份验证的用户订阅”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌不需要任何权限。
“列出经过身份验证的用户订阅”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
per_page 整数每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出经过身份验证的用户订阅”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
304 | 未修改 |
401 | 需要身份验证 |
404 | 资源未找到 |
“列出经过身份验证的用户订阅”的代码示例
请求示例
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/marketplace_purchases
响应
状态:200
[ { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "account": { "login": "github", "id": 4, "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", "url": "https://api.github.com/orgs/github", "email": null, "organization_billing_email": "[email protected]", "type": "Organization" }, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } } ]
列出经过身份验证的用户订阅(存根)
列出经过身份验证用户的活动订阅。
“列出经过身份验证的用户订阅(存根)”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌不需要任何权限。
“列出经过身份验证的用户订阅(存根)”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 |
名称、类型、描述 |
---|
per_page 整数每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出经过身份验证的用户订阅(存根)”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
304 | 未修改 |
401 | 需要身份验证 |
“列出经过身份验证的用户订阅(存根)”的代码示例
请求示例
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/marketplace_purchases/stubbed
响应
状态:200
[ { "billing_cycle": "monthly", "next_billing_date": "2017-11-11T00:00:00Z", "unit_count": null, "on_free_trial": true, "free_trial_ends_on": "2017-11-11T00:00:00Z", "updated_at": "2017-11-02T01:12:12Z", "account": { "login": "github", "id": 4, "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", "url": "https://api.github.com/orgs/github", "email": null, "organization_billing_email": "[email protected]", "type": "Organization" }, "plan": { "url": "https://api.github.com/marketplace_listing/plans/1313", "accounts_url": "https://api.github.com/marketplace_listing/plans/1313/accounts", "id": 1313, "number": 3, "name": "Pro", "description": "A professional-grade CI solution", "monthly_price_in_cents": 1099, "yearly_price_in_cents": 11870, "price_model": "FLAT_RATE", "has_free_trial": true, "unit_name": null, "state": "published", "bullets": [ "Up to 25 private repositories", "11 concurrent builds" ] } } ]