Google Drive API v3 更改列表请求 returns 400 错误请求使用 .NET 客户端
Google Drive API v3 change list request returns 400 bad request using .NET client
我们正在创建一个 .NET 应用程序,它将捕获 Google Drive 更改,我们正在为 Google Drive V3 API 使用 .NET 客户端。下面的代码显示了我们如何调用 Changes.List 方法来 return 驱动器更改列表。此代码几天前有效,但现在每次都只是 returns 错误代码 400(错误请求)。还有其他人发现问题吗?
var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
Secrets,
Scopes,
"user",
CancellationToken.None,
dataStore).Result;
// Create Drive API service.
var service = new DriveService(new BaseClientService.Initializer() {
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
while (pageToken != null)
{
var changeListRequest = service.Changes.List(pageToken);
changeListRequest.Fields = "*";
changeList = changeListRequest.Execute();
pageToken = changeList.NextPageToken;
}
错误发生在 changeListRequest.Execute() 调用中。
根据此 Handling API Errors 文档,400 Bad Request 错误意味着您发送到网站服务器的请求(通常是一些简单的请求,例如加载网页的请求)不知何故不正确或已损坏,因此服务器无法理解。
这段代码在几天前有效,但现在每次都是 returns 错误代码 400(错误请求)。
- 清除浏览器的 cookie 和缓存,尤其是您收到 Google 服务的错误请求错误。当读取的 cookie 已损坏或太旧时,许多网站都会报告 400 错误。
你也可以查看这个类似的问题Getting 200 OK abd 400 bad request on the same request from Google Drive REST API。
好的,所以我发现问题出在以下行:
changeListRequest.Fields = "*".
我必须指定实际字段而不是星号:
changeListRequest.Fields = "changes,kind,newStartPageToken,nextPageToken";
现在似乎工作正常。问题是我的旧代码在几天前工作正常!事实上,我从 Google 的 .NET 示例中复制了使用星号的代码。我很高兴这不是生产代码。
我们正在创建一个 .NET 应用程序,它将捕获 Google Drive 更改,我们正在为 Google Drive V3 API 使用 .NET 客户端。下面的代码显示了我们如何调用 Changes.List 方法来 return 驱动器更改列表。此代码几天前有效,但现在每次都只是 returns 错误代码 400(错误请求)。还有其他人发现问题吗?
var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
Secrets,
Scopes,
"user",
CancellationToken.None,
dataStore).Result;
// Create Drive API service.
var service = new DriveService(new BaseClientService.Initializer() {
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
while (pageToken != null)
{
var changeListRequest = service.Changes.List(pageToken);
changeListRequest.Fields = "*";
changeList = changeListRequest.Execute();
pageToken = changeList.NextPageToken;
}
错误发生在 changeListRequest.Execute() 调用中。
根据此 Handling API Errors 文档,400 Bad Request 错误意味着您发送到网站服务器的请求(通常是一些简单的请求,例如加载网页的请求)不知何故不正确或已损坏,因此服务器无法理解。
这段代码在几天前有效,但现在每次都是 returns 错误代码 400(错误请求)。
- 清除浏览器的 cookie 和缓存,尤其是您收到 Google 服务的错误请求错误。当读取的 cookie 已损坏或太旧时,许多网站都会报告 400 错误。
你也可以查看这个类似的问题Getting 200 OK abd 400 bad request on the same request from Google Drive REST API。
好的,所以我发现问题出在以下行:
changeListRequest.Fields = "*".
我必须指定实际字段而不是星号:
changeListRequest.Fields = "changes,kind,newStartPageToken,nextPageToken";
现在似乎工作正常。问题是我的旧代码在几天前工作正常!事实上,我从 Google 的 .NET 示例中复制了使用星号的代码。我很高兴这不是生产代码。