创建作业时 YouTube 报告 API Returns 400 和 401 错误

YouTube Reporting API Returns 400 and 401 Error while creating a job

我正在使用 YouTube 报告 Api 以批量报告的形式获取我的 CMS 帐户数据。

我正在 Api Explorer 使用我的 CMS 用户帐户。我已从控制台启用 YouTube 报告 API,但每当我尝试以下请求时,我都会收到 401 错误。我相信我遗漏了什么或做错了什么,但我找不到。这个问题的确切原因是什么?

先生Ibrahim Ulukaya,您是为 YouTube 报告 API 创建 PHP 示例代码的人。我该如何解决这个问题?

谢谢! :)

这是我的请求;

POST https://youtubereporting.googleapis.com/v1/jobs?onBehalfOfContentOwner=contentOwner%3D%3DContent_Owner_Name&fields=id%2CreportTypeId&key={YOUR_API_KEY}

{ "reportTypeId": "content_owner_ad_performance_a1" }

这是回应;

401 好

{ "error":{ "code": 401, "message": "The request does not have valid authentication credentials.", "status": "UNAUTHENTICATED" } }

编辑

当我不添加内容所有者名称时,出现 400 错误..

这是我的请求;

POST https://youtubereporting.googleapis.com/v1/jobs?fields=name%2CreportTypeId&key={YOUR_API_KEY} { }

这是回复;

400 行

{ "error":{ "code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT" } }

我解决了这个问题...

401 错误发生是因为我认为我应该在 OnBehalfOfContentOwner 部分添加我的内容所有者名称。根据 YouTube 文档,它应该是我的内容所有者 ID。 (代表用户执行操作的内容所有者的外部 ID。)当我添加我的内容所有者 ID 时,请求没问题..

400 错误发生是因为我将 OnBehalfOfContentOwner 部分留空并且没有写任何东西。根据 YouTube 文档,如果请求未指定此参数的值,API 服务器假定请求是针对用户自己的频道发出的。如果它充当您自己的频道(不是内容所有者),您无法从内容所有者报告中检索任何内容。您只能从频道报告中选择一些内容。如果您在充当自己的频道时尝试从内容所有者报告中检索数据,则该请求将无效,因为它无法在频道报告列表中看到该报告。

最重要的是;

  • 如果您尝试检索内容所有者报告,您应该使用您的内容所有者 ID,而不是 OnBehalfOfContentOwner 部分的内容所有者名称。

  • 您应该从您充当的列表中选择一个正确的报告 ID...