我想使用电子邮件设置 API,但找不到任何文档如何将此 API 与 oAuth2 身份验证一起使用
- 我是否使用了正确的 API?
- 我使用的是最新的 API 吗?(Google.GData.Apps.dll 版本 2.2.0)
- 如何将此 DLL 与带有 p12 文件和服务帐户的 google 控制台项目一起使用?
根据 Google 文档,这是最新的 api voor 电子邮件设置:https ://developers.google.com/admin-sdk/email-settings/
我在此页面上找不到任何文档如何在 .Net 中使用 Oauth,但在示例中我看到了这一点:
using Google.GData.Apps;
using Google.GData.Apps.GoogleMailSettings;
GoogleMailSettingsService service = new GoogleMailSettingsService("yourdomain", "your-apps");
service.setUserCredentials("adminUsername", "adminPassword");
service.CreateSendAs("liz", "Sales", "sales@example.com", "", "true");
因此,在搜索这些参考资料时,我找到了这个页面: https ://code.google.com/p/google-gdata/ 或 nuget 包:www.nuget.org/packages/Google.GData.Apps/ 最新版本是 2.2 .0
由于我们正在使用控制台项目 Oauth2 和服务帐户切换到新的 api,我的问题是,我是否可以使用与最新 api 相同的身份验证来使用 dll
新的 api 使用这种身份验证方法:
X509Certificate2 certificate = new X509Certificate2(@"\location\P12File.p12", "notasecret", X509KeyStorageFlags.Exportable);
IEnumerable<string> scopes = new[] { DirectoryService.Scope.AdminDirectoryUser, DirectoryService.Scope.AdminDirectoryUserSecurity };
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer("ServiceAccountEmail@domain.com")
{
Scopes = scopes,
User = "AdminAccount@domain.com"
}.FromCertificate(certificate));
// Create the service.
var service = new DirectoryService(
new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Admin directory Provisioning Sample",
});
service.Users.Delete(userKey).Execute();