2015-04-23 57 views
0

我正在使用Google Admin SDK API在Google中使用独立C#代码和所有操作(包括创建用户,更新用户,创建组,添加成员,获取成员,搜索用户等)来配置Google中的用户/组。现在我正试图调用组设置API来更新组设置的一些设置,但我得到一个群组设置API:错误401

登录所需的异常(401)。

我已经加入服务帐户范围组的设置,并在谷歌管理控制台的安全设置添加了相同的组设置&启用组设置在Developer控制台 范围:GroupssettingsService.Scope.AppsGroupsSettings 管理控制台安全设置:https://www.googleapis.com/auth/apps.groups.settings

我不知道这里有什么问题,其余全部API都工作正常,我试图从API浏览器中的相同,并且也工作正常。

//Connect Google Snippet 

public static DirectoryService fnConnectGoogle() 
{ 
      Console.WriteLine("Connect to Google API"); 
      Console.WriteLine("====================="); 

      String serviceAccountEmail = "[email protected]"; 
      var certificate = new X509Certificate2(@"D:\CECV\Google\GoogleAppsProvisioning.p12", "notasecret", X509KeyStorageFlags.Exportable); 

      ServiceAccountCredential credential = new ServiceAccountCredential(
      new ServiceAccountCredential.Initializer(serviceAccountEmail) 
      { 
       User = "[email protected]", 
       Scopes = new[] { DirectoryService.Scope.AdminDirectoryUser, DirectoryService.Scope.AdminDirectoryGroup, 
        GroupssettingsService.Scope.AppsGroupsSettings} 
      }.FromCertificate(certificate)); 


      var dirservice = new DirectoryService(new BaseClientService.Initializer() 
      {enter code here 
       HttpClientInitializer = credential, 
       ApplicationName = "GoogleAppsProvisioning" 
      }); 
      return dirservice; 
} 

//Update Group Settings 


public static void fnUpdateGroupSetting(DirectoryService dirService) 
{ 
      GroupssettingsService groupSetting = new GroupssettingsService(); 
      // Groups group = new Groups(); 
      Google.Apis.Groupssettings.v1.Data.Groups group = new Google.Apis.Groupssettings.v1.Data.Groups(); 

      group.AllowWebPosting = "true"; 
      var g = groupSetting.Groups.Update(group, "[email protected]").Execute(); 
      Console.WriteLine("Group Settings updated successfully"+g.AllowWebPosting); 
} 
+0

这可能对您有帮助:http://stackoverflow.com/questions/13776174/google-group-settings-api-enabled-for-service-accounts – KRR

+0

我已编辑您的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

回答

0

有你登录的[email protected]激活它?我遇到同样的问题,直到我意识到服务帐户试图充当用户,如果用户未被激活,它可能无法工作。尽管GroupSettings以外的API似乎没有问题。