title: Google Analytics API v3 can't retrieve data for an user admin, not an owner
body: <p>We're trying to get a list of all google account profile from a single administrator user with google analytics api v3.</p>
  
  <p>We've got a user (admin@company.com) that is an administrator for multiple account of multiple domain but not an owner of any of them and has no personal analytics account.</p>
  
  <ol>
  <li>We create a new console project.</li>
  <li>Create the remote services in google console like suggested in <a href="https://developers.google.com/analytics/solutions/articles/hello-analytics-api#auth" rel="nofollow">this tutorial</a> with our user admin@company.com</li>
  <li>Import dll from nuget packages.</li>
  <li><p>Wrote this simple code to test the connection and get a profile list of our user following <a href="https://code.google.com/p/google-api-dotnet-client/wiki/OAuth2#Service_Account_%28available_only_on_.NET_framework_4%29" rel="nofollow">this example</a>.</p>
  
  <p>public class Program
  {
    public static void Main(string[] args)
    {
      // privatekey.p12 has been downloaded and referred with path
      var certificate = new X509Certificate2(@"privatekey.p12", "notasecret", X509KeyStorageFlags.Exportable);</p>
  
  <pre><code>// this email was provided by google service account
  var initializer = new ServiceAccountCredential.Initializer("xxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@developer.gserviceaccount.com")
                       {
                         Scopes = new[] { AnalyticsService.Scope.AnalyticsReadonly },
                         // this is the name of one profile account admin
                         User = "name"
                       }.FromCertificate(certificate);
  
  // Create the service.
  var service = new AnalyticsService(new BaseClientService.Initializer()
  {
    HttpClientInitializer = new ServiceAccountCredential(initializer),
    // this is our application name on google service account
    ApplicationName = "app name",
  });
  
  var services = service.Management.Profiles.List("~all", "~all").Execute();
  </code></pre>
  
  <p>}
  }</p></li>
  </ol>
  
  <p>When we're trying to get profile list, we get this error</p>
  
  <pre><code>Error:"invalid_grant", Description:"", Uri:"" .. 
  </code></pre>
  
  <p>Any help appreciate, thanks.  </p>