我正在Windows中开发一个控制台应用程序,该应用程序将连接到gsuite邮件帐户,检查邮件列表,下载附件并将邮件移至已完成的文件夹(或只是将其删除)。
我做了一些工作,但是应用程序有时需要刷新凭据,因此打开了浏览器。不幸的是,由于使用计划任务从服务器运行了应用程序。
因此,我被赋予使用服务帐户的任务。
现在连接时,我会收到此错误:
消息[错误请求]位置[-]原因[failedPrecondition]域[全局] 当我使用此错误时会出现此错误:
credential = new ServiceaccountCredential(new
ServiceaccountCredential.Initializer(serviceaccount)
{
Scopes = new[] {
GmailService.Scope.MailGoogleCom
// GmailService.Scope.GmailSettingsSharing
}
}.FromPrivateKey(privateKey));
或者这个:
发生错误:错误:“ unauthorized_client”,说明:“客户端未经授权使用此方法检索访问令牌,或者客户端未获得任何所请求范围的授权。
与上述代码相同,只是添加用户:
var userId = "test@example.com";
credential = new ServiceaccountCredential(new
ServiceaccountCredential.Initializer(serviceaccount)
{
User = userId,Scopes = new[] {
GmailService.Scope.MailGoogleCom
// GmailService.Scope.GmailSettingsSharing
}
}.FromPrivateKey(privateKey));
我的直觉是客户端没有在范围上获得正确的设置。 任何人都经历过同样的事情,并最终正确地做到了?