我们正在更新 Data API,以便与 YouTube 统计 Shorts 短视频观看次数的方式保持一致。
了解详情
Subscriptions: insert
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
为经过身份验证的用户的频道添加订阅。
对配额的影响:调用此方法会产生 50 个单元的配额费用。
常见使用场景
请求
HTTP 请求
POST https://www.googleapis.com/youtube/v3/subscriptions
授权
此请求需要获得以下至少一个范围的授权(详细了解身份验证和授权)。
范围 |
https://www.googleapis.com/auth/youtubepartner |
https://www.googleapis.com/auth/youtube |
https://www.googleapis.com/auth/youtube.force-ssl |
参数
下表列出了此查询支持的参数。列出的所有参数都是查询参数。
参数 |
必需参数 |
part |
string
part 参数在此操作中有两种用途。它标识了写入操作要设置的属性以及 API 响应将包含的属性。
以下列表包含您可以包含在参数值中的 part 名称:
contentDetails
id
snippet
subscriberSnippet
|
请求正文
在请求正文中提供订阅资源。
针对该资源:
-
您必须为以下属性指定一个值:
-
您可以为以下属性设置值:
响应
如果成功,此方法将在响应正文中返回订阅资源。
错误
下表列出了 API 在响应对此方法的调用时可能会返回的错误消息。如需了解详情,请参阅错误消息文档。
错误类型 |
错误详情 |
说明 |
badRequest (400) |
subscriptionDuplicate |
您尝试创建的订阅已存在。 |
badRequest (400) |
subscriptionForbidden |
你的订阅数量已达上限。 |
badRequest (400) |
subscriptionForbidden |
不支持订阅自己的频道。 |
badRequest (400) |
subscriptionForbidden |
近期订阅过多。请过几小时后重试。 |
forbidden (403) |
subscriptionForbidden |
该请求未经过适当身份验证,或者此渠道不支持该请求。 |
notFound (404) |
publisherNotFound |
找不到请求的 snippet.resourceId 属性指定的资源。 |
notFound (404) |
subscriberNotFound |
找不到通过该请求标识的订阅者。 |
required (400) |
publisherRequired |
请求中指定的订阅资源必须使用 snippet.resourceId 属性来标识正在订阅的频道。 |
试试看!
使用 APIs Explorer 调用此 API 并查看 API 请求和响应。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-04-26。
[null,null,["最后更新时间 (UTC):2024-04-26。"],[],[],null,["# Subscriptions: insert\n\nAdds a subscription for the authenticated user's channel.\n\n**Quota impact:** A call to this method has a [quota cost](/youtube/v3/getting-started#quota) of 50 units.\n\nCommon use cases\n----------------\n\nThe list below shows common use cases for this method. Hover over a use case to see its description, or click on a use case to load sample parameter values in the APIs Explorer. You can open the [fullscreen APIs Explorer](#) to see code samples that dynamically update to reflect the parameter values entered in the Explorer.\n\nThe table below shows common use cases for this method. You can click on a use case name to load sample parameter values in the APIs Explorer. Or you can see code samples for a use case in the fullscreen APIs Explorer by clicking on the code icon below a use case name. In the fullscreen UI, you can update parameter and property values and the code samples will dynamically update to reflect the values you enter. \nThis method has one common use case, which is described below. The buttons below the description populate the APIs Explorer with sample values or open the fullscreen APIs Explorer to show code samples that use those values. The code samples also dynamically update if you change the values.\n\n\u003cbr /\u003e\n\nRequest\n-------\n\n### HTTP request\n\n```\nPOST https://www.googleapis.com/youtube/v3/subscriptions\n```\n\n### Authorization\n\nThis request requires authorization with at least one of the following scopes ([read more about authentication and authorization](/youtube/v3/guides/authentication)).\n\n| Scope |\n|-----------------------------------------------------|\n| `https://www.googleapis.com/auth/youtubepartner` |\n| `https://www.googleapis.com/auth/youtube` |\n| `https://www.googleapis.com/auth/youtube.force-ssl` |\n\n### Parameters\n\nThe following table lists the parameters that this query supports. All of the parameters listed are query parameters.\n\n| Parameters ||\n|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| **Required parameters** |||\n| `part` | `string` The **part** parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include. The following list contains the `part` names that you can include in the parameter value: - `contentDetails` - `id` - `snippet` - `subscriberSnippet` |\n\n### Request body\n\nProvide a [subscription resource](/youtube/v3/docs/subscriptions#resource) in the request body.\nFor that resource:\n\n- You must specify a value for these properties:\n\n \u003cbr /\u003e\n\n - `snippet.resourceId`\n\n \u003cbr /\u003e\n\n- You can set values for these properties:\n\n \u003cbr /\u003e\n\n - `snippet.resourceId`\n\n \u003cbr /\u003e\n\nResponse\n--------\n\nIf successful, this method returns a [subscription resource](/youtube/v3/docs/subscriptions#resource) in the response body.\n\nErrors\n------\n\nThe following table identifies error messages that the API could return in response to a call to this method. Please see the [error message](/youtube/v3/docs/errors) documentation for more detail.\n\n| Error type | Error detail | Description |\n|--------------------|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|\n| `badRequest (400)` | `subscriptionDuplicate` | The subscription that you are trying to create already exists. |\n| `badRequest (400)` | `subscriptionForbidden` | You have reached your maximum number of subscriptions. |\n| `badRequest (400)` | `subscriptionForbidden` | Subscribing to your own channel is not supported. |\n| `badRequest (400)` | `subscriptionForbidden` | Too many recent subscriptions. Please try again in a few hours. |\n| `forbidden (403)` | `subscriptionForbidden` | The request is not properly authenticated or not supported for this channel. |\n| `notFound (404)` | `publisherNotFound` | The resource specified by the request's `snippet.resourceId` property cannot be found. |\n| `notFound (404)` | `subscriberNotFound` | The subscriber identified with the request cannot be found. |\n| `required (400)` | `publisherRequired` | The subscription resource specified in the request must use the `snippet.resourceId` property to identify the channel that is being subscribed to. |\n\nTry it!\n-------\n\nUse the APIs Explorer to call this API and see the API request and response."]]