Не получается идентификатор папки в ответе после создания папки на диске Google с помощью Google API - PullRequest
0 голосов
/ 29 января 2020

Я использую конечную точку отдыха и не получаю идентификатор папки при создании. Это должно быть в ответе, но не там. Папка успешно создается.

url: https://www.googleapis.com/drive/v3/files

public static async void CreateFolder(string accessToken, string brandFolderName)
{
    var gDriveItems = await GetFoldersByBrand(accessToken,brandFolderName);
    if (gDriveItems.Any(x=>x.Name.ToLower() == brandFolderName.ToLower()))
    {
        return;
    }

    var request = new HttpRequestMessage(HttpMethod.Post, "drive/v3/files");
        request.Headers.Add("Authorization", "Bearer "+ accessToken);
        request.Headers.Add("Accept","application/json");

    JsonObject jsonFolderObject = new JsonObject();
    jsonFolderObject.Add("name", brandFolderName);
    jsonFolderObject.Add("mimeType", "application/vnd.google-apps.folder");
    var data = JsonConvert.SerializeObject(jsonFolderObject);

    request.Content = new StringContent(data, Encoding.UTF8, "application/json");
    var responce = await _httpClient.SendAsync(request);
    var mm = responce.Content.ReadAsStringAsync();
    responce.EnsureSuccessStatusCode();
}

1 Ответ

0 голосов
/ 29 января 2020

Для справки вот мой код для добавления новой папки.

  • Я использую Google.Apis.Drive.v3
  • service - это экземпляр DriveService с соответствующей областью для создания папки / файла.

Это даст мне идентификатор новой папки в result

    private static async Task<File> CreateRankingsFolder(DriveService service, 
        string driveId, 
        string parentId, 
        string folderName = "YOURFOLDERNAME")
    {
        File result = null;

        try
        {

            File body = new File();
            body.Name = folderName;
            body.MimeType = "application/vnd.google-apps.folder";
            body.DriveId = driveId;
            if (!string.IsNullOrEmpty(parentId))
            {
                var _parents = new List<string>()
                {
                    parentId
                };
                body.Parents = _parents;
            }

            // service is an authorized Drive API service instance
            var req = service.Files.Create(body);

            result = await req.ExecuteAsync();



        }
        catch(Exception e)
        {

        }

        return result;
    }
...