c#
google api 사용해서 폴더 만들고 그 안에 파일넣기
hjh1023
2022. 10. 21. 19:54
반응형
public static string DriveUploadBasic(string filePath, string forderID)
{
var credential = GoogleCredential.FromFile(PathToServiceAccountKeyFile)
.CreateScoped(DriveService.Scope.Drive);
// Create Drive API service.
var service = new DriveService(new BaseClientService.Initializer
{
HttpClientInitializer = credential,
//ApplicationName = "Drive API Snippets"
});
// Upload file photo.jpg on drive.
var fileMetadata = new Google.Apis.Drive.v3.Data.File()
{
Name = "upload.txt", //업로드 파일명(드라이브 상에서 보여지는 이름)
Parents = new List<String>() { forderID }
};
FilesResource.CreateMediaUpload request;
// Create a new file on drive.
using (var stream = new FileStream(filePath, FileMode.Open))
{
// Create a new file, with metadata and stream.
request = service.Files.Create(
fileMetadata, stream, "text/plain"); //log도 똑같이 하면 됨!!
//fileMetadata, stream, "image/jpeg");
request.Fields = "id";
request.Upload();
}
var file = request.ResponseBody;
// Prints the uploaded file id.
MessageBox.Show("file id" + file.Id);
return file.Id;
}
업로드 함수를 이렇게 구글드라이브 폴더의 id를 받을수 있도록 수정한다.
버튼이벤트에서 폴더를 만들기 함수와 업로드 함수를 차례로 실행시켜준다.
private void btnTest_Click(object sender, EventArgs e)
{
string folderID = DriveCreateFolder();
DriveUploadBasic(UploadFileName, folderID);
}

실행되고 나면 이렇게 폴더안에 txt파일이 들어있는것을 확인할 수 있다.
반응형