我正在尝试连接Google云端硬盘服务客户端,但我收到此异常,但我没有得到任何解决方案。这是我的代码。
public static DriveService GetDriveClient()
{
var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
new ClientSecrets { ClientId = clientID, ClientSecret = clientSecret }
, scopes
, Environment.UserName
, CancellationToken.None
, new FileDataStore(credPath, true)
).Result;
// Create Drive API service.
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = appName,
});
return service;
}
我在黄色屏幕中收到以下错误:
无效的应用程序名称 参数名称:ApplicationName
答案 0 :(得分:1)
您用于设置appName
的{{1}}值无效。
ApplicationName
直接在HTTP ApplicationName
标头中使用,因此必须符合RFC2616 page 17上的User-Agent
规范。
自发布v1.27.0起,它使用System.Net.Http.Headers.ProductInfoHeaderValue.TryParse()方法检查有效性。见BaseClientService.cs line 120
答案 1 :(得分:0)
.NET不像应用程序名称中的任何特殊字符。 我从Google API快速入门中复制了代码并不断收到错误。
//static string ApplicationName = "Drive API .NET Quickstart"; //DOESN'T WORK!
static string ApplicationName = "oneWord"; //WORKS!
可能需要URL编码或其他一些处理,但上面修复了我的问题。