내가 보려고 만든 블로그

google api사용해서 google drive에 폴더만들기 본문

c#

google api사용해서 google drive에 폴더만들기

hjh1023 2022. 10. 19. 18:45
반응형
// service account 계정만들고 다운받은 json파일 경로
private const string PathToServiceAccountKeyFile = @"C:\Users\\Desktop\mygoogleapi.json";
// upload할 파일경로 + 이름
private const string UploadFileName = @"C:\Users\Desktop\aaa.txt";
//구글드라이브의 폴더주소
private const string DirectoryId = "1QM.......";

▲ service account 계정 어떻게 만들지 모르겠으면 google drive에 업로드하기 -1 보기!!!

구글드라이브 폴더주소 알아보는 법은 2편에 있음.

public static string DriveCreateFolder()
{
    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"
    });

    // File metadata
    var fileMetadata = new Google.Apis.Drive.v3.Data.File()
    {
        Name = "Invoices", //만들 폴더명
        Parents = new List<String>() { DirectoryId },
        MimeType = "application/vnd.google-apps.folder"
    };

    // Create a new folder on drive.
    var request = service.Files.Create(fileMetadata);
    request.Fields = "id";
    var file = request.Execute();
    // Prints the created folder id.
    //MessageBox.Show("folder id" + file.Id);

    return file.Id;
 }

이렇게 폴더 만들기 함수를 생성해 준다.

이런식으로 버튼을 만들고 버튼이벤트 함수에 이렇게 DriveCreateFolder함수를 실행시키면 된다.

이렇게 만들어지는데 이름이 중복이어도 그냥 만들어진다. 이 문제는 해결되면 따로 올려야겠다.

반응형