Уникальный идентификатор файла между Windows Explorer и Google Drive.C#

Место общения программистов C#
Ответить
Anonymous
 Уникальный идентификатор файла между Windows Explorer и Google Drive.

Сообщение Anonymous »

С помощью метода, аналогичного приведенному ниже, я обновляю атрибут «имя» файлов в папке Google Диска, используя его атрибут «Id». Задача выполняется без проблем.
В этом случае файлы находятся в указанной папке, и для них не требуется указывать какой-либо атрибут.
Сейчас выполняется процесс, посредством которого необходимо указать имя файла (методом, который я указал ниже). Проблема в том, что имя локального файла в Проводнике Windows получается не со всеми реальными символами Google Диска. В Windows существуют ограничения на именование файлов, которых нет на Google Диске. В этой среде могут даже повторяться имена файлов, поскольку ссылочным и неизменяемым атрибутом является «Id».
Я беру имена файлов непосредственно из файлов, выбранных в проводнике Windows, но поскольку значение не всегда соответствует реальному значению на Google Диске. Я должен исключить использование этого атрибута для поиска файлов.
И вот в чем вопрос. Мне нужно будет использовать атрибут файла в Проводнике Windows, который также существует на Google Диске для того же файла. То есть что-то вроде UUID. Таким образом, значение, которое будет передано методу, выполняющему операцию, будет «UUID» каждого файла, а идентификация будет уникальной.
Может ли кто-нибудь помочь мне найти это предполагаемое «UUID»?
Примечания:
  • Обратите внимание, что я использую синхронизацию с Google Диском, чтобы удаленные папки и файлы отображаются в проводнике Windows обычным способом под корневым диском, содержащим все данные диска. содержимое моей учетной записи.
  • В цикле foreach существование более одного файла в настоящее время не учитывается.
public async Task CambioNombreFicheroSeleccionados(DriveService ds, ArrayList al)
{
try
{
string r = "";
foreach (var item in al)
{
r = r + "name = '" + item + "'";
}

if (r.Length == 0) { return; };

string cadQ = r + " and trashed = false";

var drivefiles = GDrive_baj.ListFiles(ds, new GDrive_baj.FilesListOptionalParms { Q = cadQ });

foreach (var driveFile in drivefiles.Files)
{
string hhh = driveFile.Id;
var fileMetadata = new Google.Apis.Drive.v3.Data.File()
{
Name = Cg.ReemplazarCaracteresEspeciales(driveFile.Name)
};

var request2 = ds.Files.Update(fileMetadata, hhh);
var results = await request2.ExecuteAsync();
}
return;
}
catch (Exception ex)
{
string ss = ex.Message;
}
return;
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... ogle-drive
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»