Google Ads API 支持将 YouTube 视频与您的 Google Ads 账号相关联。本指南介绍了如何使用 API 添加和移除与您账号的关联。
关联视频
视频可以通过以下两种方式之一与您的账号相关联,具体取决于谁启动了该流程:
- 您请求将视频与您的账号相关联。在这种情况下,您需要向创作者发送请求,对方必须接受该请求,才能建立与相应视频的关联。您可以在关联请求被接受之前撤消已延期的关联请求,也可以在关联请求被接受之后移除关联的视频。
- 视频创作者请求将自己的视频与您的 Google Ads 账号相关联。然后,您可以选择接受或拒绝对方的请求。
每种场景中都使用了以下方法:
| 场景 | 操作 | 备注 |
|---|---|---|
| 场景 1 | 从 YouTube API 获取视频信息 | 使用 YouTube API 获取 channel_id(用于发送视频链接请求)以及您要链接的视频的 video_id。video_id 是 YouTube 视频网址中包含的 11 字符字符串(例如,www.youtube.com/watch?v=VIDEO_ID 中的 v 参数或 youtu.be/VIDEO_ID 中的路径)。 |
| 创建关联请求 | 使用
DataLinkService.CreateDataLink 方法创建关联请求,同时指定 youtube_video.channel_id 和 youtube_video.video_id 来标识视频及其关联的频道。从 v24 开始,您还可以指定 youtube_link_metadata.brand_channel_id 来提供关联的 YouTube 品牌频道的 ID,以帮助创作者了解您的品牌。
不应设置 DataLink 的 status;Google Ads API 服务器会在 API 调用成功完成后将此属性设置为 REQUESTED。 |
|
| 检查请求的状态 | 使用 GoogleAdsService.SearchStream 或 GoogleAdsService.Search 查询 data_link 资源并检查其
status。 |
|
| 撤销请求 | 使用
DataLinkService.UpdateDataLink 方法撤消关联请求,方法是将
DataLink 的 status 从 REQUESTED 更改为 REVOKED。 |
|
| 移除链接 | 使用
DataLinkService.RemoveDataLink 移除关联的视频。 |
|
| 场景 2 | 检索邀请 | 使用 GoogleAdsService.Search 或 GoogleAdsService.SearchStream 查询 data_link 资源。过滤
status = PENDING_APPROVAL 以查找要接受或拒绝的关联请求。 |
| 接受或拒绝关联请求 | 使用
DataLinkService.UpdateDataLink 方法将 DataLink 的状态更新为 ENABLED(接受)或 REJECTED(拒绝)请求。 |
检索链接详细信息
您可以使用 GoogleAdsService.Search 或 GoogleAdsService.SearchStream 查询 data_link 资源。以下查询可检索 YouTube 视频链接的详细信息,包括 YouTube 视频 ID 和频道 ID:
SELECT
data_link.resource_name,
data_link.status,
data_link.youtube_video.video_id,
data_link.youtube_video.channel_id
FROM data_link
WHERE data_link.type = 'VIDEO'
此工作流中可能会抛出以下常见错误:
| 错误代码 | 说明 |
|---|---|
DataLinkError.PERMISSION_DENIED |
客户无权执行此操作。 |
DataLinkError.YOUTUBE_VIDEO_ID_INVALID |
由于视频 ID 无效,无法创建视频链接。 |
DataLinkError.INVALID_STATUS |
当数据链接的当前状态不允许进行所请求的操作时抛出。 |
DataLinkError.INVALID_UPDATE_STATUS |
在更新期间尝试进行不支持的状态转换时(例如,直接从 REVOKED 转换到 ENABLED)抛出。 |
MutateError.RESOURCE_ALREADY_EXISTS |
当视频的数据链接已存在时抛出。 |