[ACCEPTED]-where can i find ServiceAccountCredential-google-api-dotnet-client
Here's how you do it in 2017:
Go to the Service Accounts page
Create 5 a private key for the service account as 4 a JSON file
Put the downloaded file in your 3 project (for development) or bake it in 2 your build process
Reference the Google.Apis.Auth package 1 in your code
using (var stream = new FileStream("key.json", FileMode.Open, FileAccess.Read)) { var credential = GoogleCredential.FromStream(stream) .CreateScoped(scopes) .UnderlyingCredential as ServiceAccountCredential; //profit }
ServiceAccountCredential is part of Google.Apis.Auth.OAuth2
Simple 1 example using BigQuery:
using System;
using Google.Apis.Auth.OAuth2;
using System.Security.Cryptography.X509Certificates;
using Google.Apis.Bigquery.v2;
using Google.Apis.Services;
//Install-Package Google.Apis.Bigquery.v2
namespace GoogleBigQueryServiceAccount
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("BigQuery API - Service Account");
Console.WriteLine("==========================");
String serviceAccountEmail = "539621478854-imkdv94bgujcom228h3ea33kmkoefhil@developer.gserviceaccount.com";
var certificate = new X509Certificate2(@"key.p12", "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = new[] { BigqueryService.Scope.DevstorageReadOnly }
}.FromCertificate(certificate));
// Create the service.
var service = new BigqueryService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "BigQuery API Sample",
});
}
}
}
I am using Xamarin Studio and I have an 8 NUnit test library project (PCL) working 7 on my Mac using ServiceAccountCredential. I 6 just tried to move it to an Android test 5 project (MonoDroid), and ServiceAccountCredential 4 does not exist. ServiceAccount does exist 3 (its ancestral class). So this problem may 2 be related to the compile target, and ServiceAccountCredential 1 not being implemented for your target.
More Related questions
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.