private static void Main()
        {
            UserCredential credential;

            using (var stream = new FileStream("client_secrets.json", FileMode.Open,
                                               FileAccess.Read))
            {
                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    new[] { BigqueryService.Scope.Bigquery },
                    "user", CancellationToken.None).Result;
            }

            //  Create and initialize the Bigquery service. Use the Project Name value
            //  from the New Project window for the ApplicationName variable.

            BigqueryService Service = new BigqueryService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = "PROJECT NAME"
            });

            string query = "YOUR QUERY";

            JobsResource j  = Service.Jobs;
            QueryRequest qr = new QueryRequest();

            qr.Query = query;

            DataTable DT = new DataTable();
            int       i  = 0;

            QueryResponse response = j.Query(qr, "PROJECT ID").Execute();

            if (response != null)
            {
                int colCount = response.Schema.Fields.Count;

                foreach (var Column in response.Schema.Fields)
                {
                    DT.Columns.Add(Column.Name);
                }

                foreach (TableRow row in response.Rows)
                {
                    DataRow dr = DT.NewRow();

                    for (i = 0; i < colCount; i++)
                    {
                        dr[i] = row.F[i].V;
                    }

                    DT.Rows.Add(dr);
                }
            }
            else
            {
                Console.WriteLine("Response is null");
            }
        }
        public static void Main(string[] args)
        {
            // Register an authenticator.
            var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);

            provider.ClientIdentifier = clientId;
            provider.ClientSecret     = clientSecret;

            // Initiate an OAuth 2.0 flow to get an access token

            var auth = new OAuth2Authenticator <NativeApplicationClient>(provider, GetAuthorization);

            // Create the service.
            var          service = new BigqueryService(auth);
            JobsResource j       = service.Jobs;
            QueryRequest qr      = new QueryRequest();

            qr.Query = query;

            QueryResponse response = j.Query(qr, projectId).Fetch();

            foreach (TableRow row in response.Rows)
            {
                List <string> list = new List <string>();
                foreach (TableRow.FData field in row.F)
                {
                    list.Add(field.V);
                }
                Console.WriteLine(String.Join("\t", list));
            }
            Console.WriteLine("\nPress enter to exit");
            Console.ReadLine();
        }
Beispiel #3
0
 // [END async_query]
 /// <summary>
 /// Polls the job for completion.
 /// </summary>
 /// <param name="request">The bigquery request to poll for completion</param>
 /// <param name="interval">Number of milliseconds between each poll</param>
 /// <returns>The finished job</returns>
 // [START poll_job]
 public static Job PollJob(JobsResource.GetRequest request, int interval)
 {
     Job job = request.Execute();
     while (job.Status.State != "DONE")
     {
         Thread.Sleep(interval);
         job = request.Execute();
     }
     return job;
 }