public DriveActivityHelper(DriveHelper drive) { this.drive = drive; // Create Google Drive Activity API service. service = new DriveActivityService(new BaseClientService.Initializer() { HttpClientInitializer = drive.Credential, ApplicationName = drive.ApplicationName, }); }
static void Main(string[] args) { try { UserCredential credential; // Load client secrets. using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read)) { /* The file token.json stores the user's access and refresh tokens, and is created * automatically when the authorization flow completes for the first time. */ string credPath = "token.json"; credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.FromStream(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Credential file saved to: " + credPath); } // Create Google Drive Activity API service. var service = new DriveActivityService(new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = ApplicationName }); // Define parameters of request. QueryDriveActivityRequest requestData = new QueryDriveActivityRequest(); requestData.PageSize = 10; ActivityResource.QueryRequest queryRequest = service.Activity.Query(requestData); // List activities. IList <DriveActivity> activities = queryRequest.Execute().Activities; Console.WriteLine("Recent activity:"); if (activities == null || activities.Count == 0) { Console.WriteLine("No activity."); return; } foreach (var activity in activities) { string time = GetTimeInfo(activity); string action = GetActionInfo(activity.PrimaryActionDetail); List <string> actors = activity.Actors.Select(GetActorInfo).ToList(); List <string> targets = activity.Targets.Select(GetTargetInfo).ToList(); Console.WriteLine("{0}: {1}, {2}, {3}", time, Truncated(actors), action, Truncated(targets)); } } catch (FileNotFoundException e) { Console.WriteLine(e.Message); }
static void GdriveWorker() { UserCredential credential; using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read)) { // The file token.json stores the user's access and refresh tokens, and is created // automatically when the authorization flow completes for the first time. string credPath = "token.json"; credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Credential file saved to: " + credPath); } // Create Google Drive Activity API service. var service = new DriveActivityService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); // Define parameters of request. QueryDriveActivityRequest requestData = new QueryDriveActivityRequest(); requestData.PageSize = 10; ActivityResource.QueryRequest queryRequest = service.Activity.Query(requestData); // List activities. IList <Google.Apis.DriveActivity.v2.Data.DriveActivity> activities = queryRequest.Execute().Activities; Console.WriteLine("Recent activity:"); if (activities != null && activities.Count > 0) { foreach (var activity in activities) { string time = getTimeInfo(activity); string action = getActionInfo(activity.PrimaryActionDetail); List <string> actors = activity.Actors.Select(a => getActorInfo(a)).ToList(); List <string> targets = activity.Targets.Select(t => getTargetInfo(t)).ToList(); Console.WriteLine("{0}: {1}, {2}, {3}", time, truncated(actors), action, truncated(targets)); } } else { Console.WriteLine("No activity."); } }
private Task <DriveActivityService> GetDriveActivityServiceAsync() { lock (_driveActivityServiceTcsLock) { if (_driveActivityServiceTcs == null) { _driveActivityServiceTcs = new TaskCompletionSource <DriveActivityService>(); Task.Run(async() => { var provider = new UserCredentialProvider(); var credential = await provider.GetUserCredentialAsync(_activityCredentialsFile, _activityCredentialTokenFile, ActivityScope).ConfigureAwait(true); var driveService = new DriveActivityService(new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = _applicationName, }); _driveActivityServiceTcs.TrySetResult(driveService); }); } return(_driveActivityServiceTcs.Task); } }