gpt4 book ai didi

google-api-dotnet-client - 从 DirectoryService 收到权限不足错误

转载 作者:行者123 更新时间:2023-12-04 14:26:43 25 4
gpt4 key购买 nike

我正在尝试设置 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个选项:

  • 您没有包含正确的 Scope。你确定 DirectoryService.Scope.AdminDirectoryOrgunit、DirectoryService.Scope.AdminDirectoryUser 就够了吗?
  • 您是否在控制台中启用了 API?更多信息请访问:https://developers.google.com/api-client-library/dotnet/get_started#auth , 在 https://console.cloud.google.com/project 中寻找您的项目并确保您启用了 Directory Admin API。

  • 如果这些选项之一有效或您仍然缺少其他东西,请更新此线程。

    关于google-api-dotnet-client - 从 DirectoryService 收到权限不足错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29953024/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com