Google API V3:videosInsertRequest.UploadAsync返回"响应状态代码不表示成功:400(错误请求)"

时间:2014-07-14 12:38:21

标签: youtube-api google-oauth google-api-dotnet-client

上周五,在我的EXE中执行 videosInsertRequest.UploadAsync 工作正常。今天,星期一,通过Response_Received事件处理程序返回两个异常:响应状态代码不表示成功:400(错误请求)。后跟值不能为空。参数名称:baseUri

执行 GoogleWebAuthorizationBroker.AuthorizeAsync,ChannelsResource.ListRequest,VideoCategoriesResource.ListRequest 继续正常工作。

周末程序的代码没有变化。

有什么想法吗?

NuGet包版本:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Google.Apis" version="1.8.2" targetFramework="net40" />
  <package id="Google.Apis.Auth" version="1.8.2" targetFramework="net40" />
  <package id="Google.Apis.Core" version="1.8.2" targetFramework="net40" />
  <package id="Google.Apis.YouTube.v3" version="1.8.1.1080" targetFramework="net40" />
  <package id="log4net" version="2.0.3" targetFramework="net40" />
  <package id="Microsoft.Bcl" version="1.1.9" targetFramework="net40" />
  <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40" />
  <package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net40" />
  <package id="Microsoft.Net.Http" version="2.2.22" targetFramework="net40" />
  <package id="Newtonsoft.Json" version="6.0.3" targetFramework="net40" />
  <package id="Zlib.Portable" version="1.10.0" targetFramework="net40" />
</packages

1 个答案:

答案 0 :(得分:0)

此问题是由我的错误引起的。对不起,我很抱歉。

我使用我的程序的Google API V2版本在我的数据库中排队了一个视频。该程序版本在我的数据库中存储了CategoryId,与API V3版本不同。

我希望能够报告返回的实际错误( InvalidCategoryId ),但无法找到使用.NET客户端库检索的位置。

来自Fiddler:

{
 "error": {
  "errors": [
   {
    "domain": "youtube.video",
    "reason": "invalidCategoryId",
    "message": "Bad Request",
    "locationType": "other",
    "location": "body.snippet.categoryId"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}