2015-06-17 3 views
3

При создании учетной записи службы для BigQuery Google существует два типа файлов ключей. 1. Файл ключа P12 2. Файл ключа JSON.Учетные записи учетной записи службы BigQuery Google с использованием файла JSON в приложении C#

Я могу подключить Google BigQuery с учетными данными учетной записи службы с помощью ключевого файла P12, используя следующий код.

Строка serviceAccountEmail = "[email protected]";

  var certificate = new X509Certificate2(@"FileName.p12", "Secret Key", X509KeyStorageFlags.Exportable); 

      ServiceAccountCredential credential = new ServiceAccountCredential(
       new ServiceAccountCredential.Initializer(serviceAccountEmail) 
       { 
        Scopes = new[] { BigqueryService.Scope.Bigquery, BigqueryService.Scope.BigqueryInsertdata, BigqueryService.Scope.CloudPlatform, BigqueryService.Scope.DevstorageFullControl } 
       }.FromCertificate(certificate)); 

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

Теперь я пытаюсь подключить учетные данные учетной записи службы с использованием типа JSON файла, но я не мог получить правильный синтаксис для создания.

Как мы можем подключить Google BigQuery с учетными данными учетной записи службы с помощью файла JSON?

Спасибо,

+0

Это может вам помочь. Ответ в ссылке показывает пример использования JSON-файла для подключения к bigquery. http://stackoverflow.com/questions/19977864/nativeapplicationclient-is-not-supported-any – Patel

+0

@Patel Ваша предлагаемая ссылка показывает подключение большого запроса Google с использованием файла JSON на основе веб-приложения, но я ожидаю, что подключение через службу на основе JSON файл. –

+0

Возможный дубликат [Возможно ли использовать ключ json вместо ключа p12 для учетных данных учетной записи службы?] (Http://stackoverflow.com/questions/31840686/is-it-possible-to-use-json-key-instead -of-p12-ключ-для-сервис-счет-учетного) –

ответ

2

Я получил ссылку, что указывает на аутентификации учетной записи службы с помощью файла JSON в приложении C# еще не добавил в Google BigQuery API, поэтому я хотел бы закрыть этот вопрос.

https://github.com/google/google-api-dotnet-client/issues/533

0

Теперь можно (я использовал V 1.13.1.0 из Google API).

GoogleCredential credential; 
using (Stream stream = new FileStream(@"C:\mykey.json", FileMode.Open, FileAccess.Read, FileShare.Read)) 
{ 
    credential = GoogleCredential.FromStream(stream); 
} 

string[] scopes = new string[] { 
    BigqueryService.Scope.Bigquery, 
    BigqueryService.Scope.CloudPlatform, 
}; 
credential = credential.CreateScoped(scopes); 

BaseClientService.Initializer initializer = new BaseClientService.Initializer() 
{ 
    HttpClientInitializer = (IConfigurableHttpClientInitializer)credential, 
    ApplicationName = "My Application", 
    GZipEnabled = true, 
}; 
BigqueryService service = new BigqueryService(initializer); 
Смежные вопросы