我需要使用 Google Admin SDK Directory Service 将用户添加到我们的 gsuite 域,我使用的是服务帐户,语言是 vb.net。我的应用程序在 Visual Studio 中运行良好,但是一旦我将它发布到我的 IIS 服务器,我就会得到蟋蟀。我很茫然,几个月来一直在为此苦苦挣扎。我联系了谷歌云支持,他们认为我的代码看起来不错,但无法解决特定的编码问题。他们把我介绍到这里。
所以这是我的代码
Try
' service account email address
Const serviceAccount As String = "My service account"
' import service account key p12 certificate.
Dim certificate = New X509Certificate2("c:\googletest\accountmgmt-************.p12", "notasecret", X509KeyStorageFlags.Exportable)
' G Suite user email address
Dim gsuiteUser = "My Superadmin Account"
Dim serviceAccountCredentialInitializer = New ServiceAccountCredential.Initializer(serviceAccount) With {
.User = gsuiteUser,
.Scopes = {"https://www.googleapis.com/auth/admin.directory.user"}
}.FromCertificate(certificate)
' request access token
Dim credential = New ServiceAccountCredential(serviceAccountCredentialInitializer)
If Not credential.RequestAccessTokenAsync(CancellationToken.None).Result Then
Throw New InvalidOperationException("Access token failed.")
End If
Dim service = New DirectoryService(New BaseClientService.Initializer() With {
.HttpClientInitializer = credential,
.ApplicationName = "AccountMgmt"
})
Dim user As User = New User()
Dim Name As UserName = New UserName
Name.FamilyName = "Testy"
Name.GivenName = "Test1"
user.Name = Name
user.Password = "Password123!"
user.PrimaryEmail = "ttesty@mydomain.com"
Dim results As User = service.Users.Insert(user).Execute()
Catch ep As Exception
Console.WriteLine(ep.ToString())
End Try
正如我所说,它在我的 Visual Studio 开发框中运行良好,但是当我将它发布到我的 IIS 服务器并执行它时,我没有得到任何迹象表明它做了任何事情并且没有创建帐户。非常感谢 vb.net 或 c#.net 中的任何建议