Fab*_*ian 1 google-api-dotnet-client google-admin-sdk
我希望有人可以帮助我。
请看下面的源代码。结束时单击“执行”。我将收到以下错误:
未处理Google.Apis.Auth.OAuth2.Responses.TokenResponseException _HResult = -2146233088 _message =错误:“ access_denied”,说明:“未授权请求的客户端。”,Uri:“”
我已经尝试了很多东西。创建用户,列表组等(具有正确的作用域)等,但是每次遇到相同的错误时。
我已经创建了一个服务帐户,并且Google Developers Console中的所有API都设置为“ on”。我用于模拟的用户是完全管理员。
我尝试了几件事,但是我必须做一些愚蠢的事情。该代码看起来很像Stack Overflow上的另一个问题:Google Admin SDK无法创建用户-禁止例外403, 但是我的代码无法正常工作。谁能告诉我我忘记了什么?
private static readonly string[] Scopes = new string[] { DirectoryService.Scope.AdminDirectoryUser, DirectoryService.Scope.AdminDirectoryGroup, DirectoryService.Scope.AdminDirectoryGroupMember };
static void Main(string[] args)
{
String serviceAccountEmail = "***@developer.gserviceaccount.com";
var certificate = new X509Certificate2(@"file.p12", "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = Scopes,
User = "admin email address",
}.FromCertificate(certificate));
var service = new DirectoryService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "User Provisioning",
});
User newuserbody = new User();
UserName newusername = new UserName();
newuserbody.PrimaryEmail = "bbacon@correct.domain";
newusername.GivenName = "Bob";
newusername.FamilyName = "Bacon";
newuserbody.Name = newusername;
newuserbody.Password = "iambacon";
Google.Apis.Admin.Directory.directory_v1.Data.User results = service.Users.Insert(newuserbody).Execute();
Console.WriteLine("Press any key to continue!");
Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)
小智 5
在管理控制台中,您是否专门授予客户端ID权限?仅在开发人员控制台中打开API是不够的,您必须专门在管理控制台中授予此客户端ID范围访问权限,以使其模拟您域中的用户。
转到您的Google Apps域的管理控制台。
从控件列表中选择“安全性”。如果没有列出安全性,请从页面底部的灰色栏中选择“更多控件”,然后从控件列表中选择“安全性”。
从选项列表中选择高级设置。
在“身份验证”部分中选择“管理第三方OAuth客户端访问”。
在客户名称字段中,输入服务帐户的客户ID。
在“一个或多个API范围”字段中,输入应授予您的应用程序访问权限的范围列表。例如,如果您需要对Google Drive API和Google Calendar API进行域范围的访问,请输入:https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/calendar
单击授权按钮。
让我知道这是否解决了权限错误。
| 归档时间: |
|
| 查看次数: |
2726 次 |
| 最近记录: |