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,
     });
 }
示例#2
0
        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);
            }
示例#3
0
        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.");
            }
        }
示例#4
0
        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);
            }
        }