Wymagam zapytania danych przy użyciu Google BigQuery API. Ale staram się znaleźć .NET Samples i nie było żadnej dokumentacji dołączonej do pliku binarnego (Google.Apis.Bigquery.dll). Czy ktokolwiek może mi podać przykładowe użycie dla .NET?Google BigQuery z dokumentacją .NET/próbkami
Odpowiedz
Nie mamy jeszcze próbek BigQuery C#, ale biblioteka Google .NET zawiera różne próbki do innych interfejsów API Google, a kod jest podobny. See this page for an example.
Kod będzie wyglądał mniej więcej tak (Uwaga: Nie miałem jeszcze okazji przetestować tego jeszcze, więc zmiany są mile widziane ...). Nawiasem mówiąc, jesteśmy w trakcie robienia wielu aktualizacji dokumentacji dla BigQuery i mamy nadzieję opublikować próbki C# tak szybko, jak tylko możemy (ale najprawdopodobniej w przyszłym miesiącu).
using DotNetOpenAuth.OAuth2;
using Google.Apis.Authentication.OAuth2;
using Google.Apis.Authentication.OAuth2.DotNetOpenAuth;
using Google.Apis.Bigquery.v2;
using Google.Apis.Util;
{
public class Program
{
public static void Main(string[] args)
{
// Register an authenticator.
var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);
// Put your client id and secret here (from https://developers.google.com/console)
// Use the installed app flow here.
provider.ClientIdentifier = "<client id>";
provider.ClientSecret = "<client secret>";
// 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);
// Do something with the BigQuery service here
// Such as... service.[some BigQuery method].Fetch();
}
private static IAuthorizationState GetAuthorization(NativeApplicationClient arg)
{
// Get the auth URL:
IAuthorizationState state = new AuthorizationState(new[] { BigqueryService.Scopes.Bigquery.GetStringValue() });
state.Callback = new Uri(NativeApplicationClient.OutOfBandCallbackUrl);
Uri authUri = arg.RequestUserAuthorization(state);
// Request authorization from the user (by opening a browser window):
Process.Start(authUri.ToString());
Console.Write(" Authorization Code: ");
string authCode = Console.ReadLine();
Console.WriteLine();
// Retrieve the access token by using the authorization code:
return arg.ProcessUserAuthorization(authCode, state);
}
}
}
Czy zostały już wykonane te próbki lub dokumentacja? Wciąż nie mogę ich wyśledzić, znalazłem dokumentację API, która jest dobra, ale tak naprawdę nie daje dobrego punktu wyjścia! – Ben
co to jest Google.Apis.Util, GoogleAuthenticationServer, NativeApplicationClient proszę zamieścić wyjaśnienie zależności. Poza tym, masz szansę na próbki? – Cherven
Po pobraniu najnowszej biblioteki Google Api przez NuGet https://www.nuget.org/packages/Google.Apis/ nie rozpoznaje ona 'Google.Apis.Authentication'. Czy jest to działająca wersja kodu wklejonego powyżej? Jeśli biblioteka Java jest mniej kłopotliwa, poinformuj nas o tym, abyśmy się przełączyli. – Disasterkid
Oto próbka robocza, częściowo oparte off reakcji Michaela:
using DotNetOpenAuth.OAuth2;
using Google.Apis.Authentication.OAuth2;
using Google.Apis.Authentication.OAuth2.DotNetOpenAuth;
using Google.Apis.Bigquery.v2;
using Google.Apis.Bigquery.v2.Data;
using Google.Apis.Util;
using System;
using System.Diagnostics;
using System.Collections.Generic;
namespace BigQueryConsole
{
public class BigQueryConsole
{
// Put your client ID and secret here (from https://developers.google.com/console)
// Use the installed app flow here.
// Client ID looks like "9999999.apps.googleusercontent.com"
static string clientId = "YOURCLIENTID";
static string clientSecret = "YOURSECRET";
// Project ID is in the URL of your project on the APIs Console
// Project ID looks like "999999";
static string projectId = "YOURPROJECTID";
// Query in SQL-like form
static string query = "SELECT state, count(*) from [publicdata:samples.natality] GROUP BY state ORDER BY state ASC";
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();
}
private static IAuthorizationState GetAuthorization(NativeApplicationClient arg)
{
// Get the auth URL:
IAuthorizationState state = new AuthorizationState(new[] { BigqueryService.Scopes.Bigquery.GetStringValue() });
state.Callback = new Uri(NativeApplicationClient.OutOfBandCallbackUrl);
Uri authUri = arg.RequestUserAuthorization(state);
// Request authorization from the user (by opening a browser window):
Process.Start(authUri.ToString());
Console.Write(" Authorization Code: ");
string authCode = Console.ReadLine();
Console.WriteLine();
// Retrieve the access token by using the authorization code:
return arg.ProcessUserAuthorization(authCode, state);
}
}
}
ta wykorzystuje synchroniczne zapytań. W przypadku zapytań asynchronicznych kod byłby nieco inny.
Należy odwoływać się zarówno do biblioteki dll usługi BigQuery (w katalogu "Usługi" w pobieraniu binarnym), jak i innych bibliotek dll w katalogu "Lib". Binarna wersja jest tutaj: http://code.google.com/p/google-api-dotnet-client/wiki/Downloads#Latest_Stable_Release
Kod .NET będzie bardzo podobny do kodu biblioteki Java (są one generowane off z tym samym opisem API): https://developers.google.com/bigquery/docs/developers_guide#batchqueries
Dostaniemy więcej próbek wkrótce, ale mam nadzieję, że to pomoże w międzyczasie.
dla niedawnego, zobacz http://bitvectors.blogspot.de/2014/05/front-end-google -bigquery-with-aspnet_27.html –
Połączona biblioteka wymaga systemu Windows 8.1 i wszystkie pakiety NuGet muszą zostać rozwiązane. Widziałem niektóre z Twoich filmów na YouTube o Big Query. Wyrażenia 'using' użyte w powyższym fragmencie kodu nie działają z resztą kodu. Jeśli biblioteka Java jest bardziej stabilna, daj nam znać, więc przełączamy się na nią. – Disasterkid
- 1. Google BigQuery Usunąć wiersze?
- 2. Synchronizacja Amazon RDS z Google BigQuery
- 3. sterownik jdbc dla google bigquery
- 4. Strona statusu systemu Google BigQuery?
- 5. Błąd w Google BigQuery <EOF>
- 6. Problemy z dokumentacją IE i HTML5
- 7. Co oznacza pole REPEATED w Google Bigquery?
- 8. Uzyskaj dostęp do danych BigQuery Google z lokalnych notebooków Jupyter
- 9. Jak wyeksportować bibliotekę AAR wraz z dokumentacją?
- 10. http auth auth z dokumentacją api swashbuckle
- 11. Wyskakujące okienko z dokumentacją Android Studio:
- 12. Używanie BigQuery z R do analizy danych
- 13. MongoDB do BigQuery
- 14. BigQuery datatypes
- 15. Widok z parametrami w BigQuery
- 16. Łącza SQL z BigQuery łącznie
- 17. Sesje łączne w BigQuery a raporty Google Analytics
- 18. Jak uzyskać różne wartości w GROUP_CONCAT przy użyciu BigQuery Google
- 19. Wariacje cenowe Bigquery?
- 20. Dokumentacja Objective-C i Swift razem z dokumentacją Apple
- 21. Numer wiersza w BigQuery?
- 22. Dane strumieniowe w BigQuery
- 23. BigQuery creat powtórzone pole rekordu z zapytania
- 24. konfiguracja przepływu powietrza z operatorem bigquery
- 25. Usuwanie zduplikowanych wierszy z tabeli BigQuery
- 26. BigQuery DOŁĄCZ Błąd
- 27. Odległość HAVERSINE w BigQuery?
- 28. Jak skonfigurować narzędzie wiersza polecenia Google BigQuery do korzystania z konta usługi?
- 29. Autoryzacja dostępu do BigQuery z sesji R na serwerze
- 30. Wprowadzanie dużej ilości danych do BigQuery za pośrednictwem biblioteki BigQuery-Pythona
Proszę zobaczyć odpowiedzi poniżej - czy oni pomogli? –
Daj nam znać, jeśli potrzebujesz więcej pomocy. Jeśli poniższe odpowiedzi działają, zagłosuj/zaakceptuj. Dzięki! –
Najnowsze informacje można znaleźć na stronie http://bitvectors.blogspot.de/2014/05/front-end-google-bigquery-with-aspnet_27.html –