Usando a API do Google Drive V3 e a autenticação da conta de serviço, o WebViewLink é nulo

Estou usando a API do Google Drive v3 para fazer upload de um arquivo e visualizá-lo no navegador usando o link de visualização da web na resposta. Mas o link da visualização na web está ficando nulo. Quando eu estava usando a v2, consegui fazê-lo usando o link alternativo.

Eu não defini a referência pai, portanto, conforme a documentação, o arquivo é armazenado na minha pasta da unidade (raiz) da conta de serviço. Como não consegui acessar a conta de serviço, compartilhei o arquivo com minha conta existente do gmail de teste e ele foi compartilhado.

Minha pergunta é como posso abrir o arquivo no navegador usandoSystem.Diagnostics.Process.Start(newFile.WebViewLink);

aqui está o meu código:

{
File fileInGoogleDrive = Utils.uploadToDrive(service, pathOfTheFileToBeUploaded, "root");

            Permission toShare = new Permission();
            toShare.EmailAddress = "[email protected]";
            toShare.Type = "user";
            toShare.Role = "reader";

            PermissionsResource.CreateRequest createRequest = service.Permissions.Create(toShare, fileInGoogleDrive.Id);
            createRequest.Execute();

            return fileInGoogleDrive.WebViewLink; //THIS IS NULL 
}

aqui está o código de upload:

public static File uploadToDrive(DriveService _service, string _uploadFile, string _parent = "root")
        {            

            if (!String.IsNullOrEmpty(_uploadFile))
            {     

            File fileMetadata = new File();
            fileMetadata.Name = System.IO.Path.GetFileName(_uploadFile);
            fileMetadata.MimeType = GetMimeType(_uploadFile);                    
            //fileMetadata.Parents = new List<FilesResource>() { new FilesResource() {}};                    

            try
            {
                byte[] byteArray = System.IO.File.ReadAllBytes(_uploadFile);
                System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);
                FilesResource.CreateMediaUpload request = _service.Files.Create(fileMetadata, stream, GetMimeType(_uploadFile));
                request.Upload();
                return request.ResponseBody;    

            }
            catch (System.IO.IOException iox)
            {
                // Log
                return null;
            }
            catch (Exception e) // any special google drive exceptions??
            {
                //Log
                return null;
            }
        }
        else
        {
            //Log file does not exist
            return null;
        }
    }

Alguém poderia me guiar aqui?

questionAnswers(1)

yourAnswerToTheQuestion