我正在尝试设置 c# 代码来管理我们的 Google 域。
每当我从 DirectoryService api 调用 service.Users.List() 或任何其他方法时,我都会收到此错误。
Google.Apis.Requests.RequestError
Insufficient Permission [403]
Errors [
Message[Insufficient Permission] Location[ - ] Reason[insufficientPermissions] Domain[global]
]
我遵循了 OAuth 设置的所有说明。我使用的帐户是域管理员。
当我将它与 GAM.exe 一起使用来执行相同的操作时,我使用的客户端 secret 文件工作正常。这让我相信我在我的代码中做错了什么。
下面是我查询用户的代码,有什么我遗漏的吗?
static void Main(string[] args)
{
var applicationName = "App Project Name";
var userName = "admin@domain.com";
var clientID = "clientIDfromAPIcredentialpageonconsole.developers.google.com";
UserCredential credential;
using (var stream = new FileStream("C:\\gam\\client_secrets.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { DirectoryService.Scope.AdminDirectoryOrgunit, DirectoryService.Scope.AdminDirectoryUser },
userName,
CancellationToken.None, null).Result;
}
var service = new DirectoryService(new BaseClientService.Initializer()
{
ApplicationName = applicationName,
HttpClientInitializer = credential
});
var list = service.Users.List();
var users = list.Execute();
}
}
最佳答案
2个选项:
如果这些选项之一有效或您仍然缺少其他东西,请更新此线程。
关于google-api-dotnet-client - 从 DirectoryService 收到权限不足错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29953024/