title: Trying to Creating users in Google Apps domain in Windows Forms code
body: <p>I'm trying to create a user from a windows forms application.</p>
  
  <p>I've managed to do it in a consoleapp, but I want it in a proper windows app. :)</p>
  
  <p>To get the authentication right' I've tried to figure out how the AssertionFlowClient is working, but it won't come out right.</p>
  
  <p>Here's the critical code:</p>
  
  <pre><code>private void CreateUserBtn_Click(object sender, EventArgs e)
      {
          var provider = new AssertionFlowClient(GoogleAuthenticationServer.Description, new X509Certificate2(@"C:\key.p12", "notasecret", X509KeyStorageFlags.Exportable))
          {
              ServiceAccountId = "somemail@developer.gserviceaccount.com",
              Scope = DirectoryService.Scopes.AdminDirectoryUser.GetStringValue(),
              ServiceAccountUser = "myadress@mydomain.mygbiz.com",
          };
  
          var auth = new OAuth2Authenticator&lt;AssertionFlowClient&gt;(provider, AssertionFlowClient.GetState);
  
          DirectoryService m_serviceUser = new DirectoryService(new BaseClientService.Initializer()
          {
              Authenticator = auth,
          });
          User newuserbody = new User();
          UserName newusername = new UserName();
          newuserbody.PrimaryEmail = UserNameTextBox.Text + "@" + DomainTextBox.Text;
          newusername.GivenName = GivenNameTextBox.Text;
          newusername.FamilyName = FamilyNameTextBox.Text;
          newuserbody.Name = newusername;
          newuserbody.Password = PasswordTextBox.Text;
  
          m_serviceUser.Users.Insert(newuserbody).Execute();
      }
  </code></pre>
  
  <p>And here's the error message:</p>
  
  <p>An unhandled exception of type 'DotNetOpenAuth.Messaging.ProtocolException' occurred in Google.Apis.dll</p>
  
  <p>Additional information: Error occurred while sending a direct message or getting the response.</p>
  
  <p>Edit : added som Debug output again:</p>
  
  <pre><code>CreateUserWinForm.vshost.exe Information: 0 : DotNetOpenAuth, Version=4.0.0.11165, Culture=neutral, PublicKeyToken=2780ccd10d57b246 (official)
  
  CreateUserWinForm.vshost.exe Information: 0 : Preparing to send AssertionFlowMessage (2.0) message.
  
  CreateUserWinForm.vshost.exe Information: 0 : Sending AssertionFlowMessage request.
  
  CreateUserWinForm.vshost.exe Information: 0 : HTTP POST https://accounts.google.com/o/oauth2/token
  
  'CreateUserWinForm.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.resources\v4.0_4.0.0.0_sv_b77a5c561934e089\System.resources.dll'
  
  A first chance exception of type 'DotNetOpenAuth.Messaging.ProtocolException' occurred in DotNetOpenAuth.dll
  
  Additional information: Error occurred while sending a direct message or getting the response.
  
  A first chance exception of type 'DotNetOpenAuth.Messaging.ProtocolException' occurred in Microsoft.Threading.Tasks.dll
  
  Additional information: Error occurred while sending a direct message or getting the response.
  
  A first chance exception of type 'System.AggregateException' occurred in mscorlib.dll
  
  A first chance exception of type 'DotNetOpenAuth.Messaging.ProtocolException' occurred in Google.Apis.dll
  
  Additional information: Error occurred while sending a direct message or getting the response.
  
  An unhandled exception of type 'DotNetOpenAuth.Messaging.ProtocolException' occurred in Google.Apis.dll
  
  Additional information: Error occurred while sending a direct message or getting the response.
  
  The program '[7820] CreateUserWinForm.vshost.exe: Managed (v4.0.30319)' has exited with code 0 (0x0).
  </code></pre>