forked from ddrilling/AsbCloudServer
CS2-106: Made google drive uploaded files accessible to everyone
This commit is contained in:
parent
488107a804
commit
45df5bb015
@ -7,13 +7,14 @@ using Google.Apis.Util.Store;
|
||||
using Google.Apis.Drive.v3.Data;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
// usage example at the very bottom
|
||||
namespace ConsoleApp1
|
||||
{
|
||||
public class GoogleDriveFilesService
|
||||
{
|
||||
private static DriveService GetService()
|
||||
public DriveService GetService()
|
||||
{ // ключи для почты asbautodrilling@gmail.com.
|
||||
var tokenResponse = new TokenResponse
|
||||
{
|
||||
@ -45,7 +46,6 @@ namespace ConsoleApp1
|
||||
return service;
|
||||
}
|
||||
|
||||
//public string CreateFolder(string parent, string folderName)
|
||||
public string CreateFolder(string folderName) // Это fileName. У гугла почему-то все называется folder: и папка, и файл.
|
||||
{ // С parent почему-то не дружит, выкидывает Exception.
|
||||
var service = GetService();
|
||||
@ -58,7 +58,6 @@ namespace ConsoleApp1
|
||||
return file.Id;
|
||||
}
|
||||
|
||||
//public string UploadFile(Stream file, string fileName, string fileMime, string folder, string fileDescription)
|
||||
public string UploadFile(Stream file, string fileName, string fileMime, string fileDescription)
|
||||
{
|
||||
DriveService service = GetService();
|
||||
@ -79,14 +78,12 @@ namespace ConsoleApp1
|
||||
return request.ResponseBody.Id;
|
||||
}
|
||||
|
||||
//public IEnumerable<Google.Apis.Drive.v3.Data.File> GetFiles(string folder)
|
||||
public IEnumerable<Google.Apis.Drive.v3.Data.File> GetFiles()
|
||||
public IEnumerable<Google.Apis.Drive.v3.Data.File> GetAllFiles()
|
||||
{
|
||||
var service = GetService();
|
||||
|
||||
var fileList = service.Files.List();
|
||||
// Это выражение ниже тоже чот не работает, выкидывает Exception. Без них выгружаются все файлы и
|
||||
// папки водин список.
|
||||
fileList.Fields = "files(id, webViewLink, size)";
|
||||
//fileList.Q =$"mimeType!='application/vnd.google-apps.folder' and '{folder}' in parents";
|
||||
//fileList.Fields = "nextPageToken, files(id, name, size, mimeType)";
|
||||
|
||||
@ -104,6 +101,15 @@ namespace ConsoleApp1
|
||||
return result;
|
||||
}
|
||||
|
||||
public Google.Apis.Drive.v3.Data.File GetFileById(string idFile)
|
||||
{
|
||||
var service = GetService();
|
||||
var fileList = service.Files.List();
|
||||
fileList.Fields = "files(id, webViewLink, size)";
|
||||
var filesResult = fileList.Execute();
|
||||
return filesResult.Files.FirstOrDefault(f => f.Id == idFile);
|
||||
}
|
||||
|
||||
public void DeleteFile(string fileId)
|
||||
{
|
||||
var service = GetService();
|
||||
@ -115,16 +121,24 @@ namespace ConsoleApp1
|
||||
|
||||
// usage example:
|
||||
|
||||
// var service = new GoogleDriveFilesService();
|
||||
// var serviceWrapper = new GoogleDriveFilesService();
|
||||
//
|
||||
// var files = service.GetFiles();
|
||||
// Console.WriteLine(files);
|
||||
// //var files = serviceWrapper.GetAllFiles();
|
||||
// var service = serviceWrapper.GetService();
|
||||
// // foreach (var file in files)
|
||||
// // {
|
||||
// // var permission = new Permission() { Type = "anyone", Role = "reader"};
|
||||
// // var createRequest = service.Permissions.Create(permission, file.Id);
|
||||
// // createRequest.Execute();
|
||||
// // Console.WriteLine(file.WebViewLink);
|
||||
// // }
|
||||
//
|
||||
// var newFolderId = service.CreateFolder("testText.txt");
|
||||
// Console.WriteLine(newFolderId);
|
||||
//
|
||||
// var path = "/home/vladimir/TestUploadFile.txt";
|
||||
// var path = "/home/cult/First.xlsx";
|
||||
// var fileInfo = new FileInfo(path);
|
||||
// var fileStream = File.Open(path, FileMode.Open);
|
||||
// var uploadedFileId = service.UploadFile(fileStream, fileInfo.Name, "", "uploaded");
|
||||
// Console.WriteLine(uploadedFileId);
|
||||
// var fileStream = System.IO.File.Open(path, FileMode.Open);
|
||||
// var uploadedFileId = serviceWrapper.UploadFile(fileStream, fileInfo.Name, "", "uploaded");
|
||||
// var permission = new Permission() { Type = "anyone", Role = "reader"};
|
||||
// var addPermissionRequest = service.Permissions.Create(permission, uploadedFileId);
|
||||
// addPermissionRequest.Execute();
|
||||
// var file = serviceWrapper.GetFileById(uploadedFileId);
|
||||
// Console.WriteLine(file.WebViewLink);
|
@ -1,5 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Google.Apis.Drive.v3.Data;
|
||||
|
||||
namespace ConsoleApp1
|
||||
{
|
||||
@ -12,19 +15,27 @@ namespace ConsoleApp1
|
||||
{
|
||||
static void Main(/*string[] args*/)
|
||||
{
|
||||
var service = new GoogleDriveFilesService();
|
||||
var serviceWrapper = new GoogleDriveFilesService();
|
||||
|
||||
var files = service.GetFiles();
|
||||
Console.WriteLine(files);
|
||||
//var files = serviceWrapper.GetAllFiles();
|
||||
var service = serviceWrapper.GetService();
|
||||
// foreach (var file in files)
|
||||
// {
|
||||
// var permission = new Permission() { Type = "anyone", Role = "reader"};
|
||||
// var createRequest = service.Permissions.Create(permission, file.Id);
|
||||
// createRequest.Execute();
|
||||
// Console.WriteLine(file.WebViewLink);
|
||||
// }
|
||||
|
||||
var newFolderId = service.CreateFolder("testText.txt");
|
||||
Console.WriteLine(newFolderId);
|
||||
|
||||
var path = "/home/vladimir/TestUploadFile.txt";
|
||||
var path = "/home/cult/First.xlsx";
|
||||
var fileInfo = new FileInfo(path);
|
||||
var fileStream = File.Open(path, FileMode.Open);
|
||||
var uploadedFileId = service.UploadFile(fileStream, fileInfo.Name, "", "uploaded");
|
||||
Console.WriteLine(uploadedFileId);
|
||||
var fileStream = System.IO.File.Open(path, FileMode.Open);
|
||||
var uploadedFileId = serviceWrapper.UploadFile(fileStream, fileInfo.Name, "", "uploaded");
|
||||
var permission = new Permission() { Type = "anyone", Role = "reader"};
|
||||
var addPermissionRequest = service.Permissions.Create(permission, uploadedFileId);
|
||||
addPermissionRequest.Execute();
|
||||
var file = serviceWrapper.GetFileById(uploadedFileId);
|
||||
Console.WriteLine(file.WebViewLink);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user