Исключение при попытке загрузить файл из хранилища Google: «Указанные данные не удалось расшифровать» - PullRequest
0 голосов
/ 03 февраля 2020

Я создал Bucket в Google Storage и программно загрузил в него некоторые файлы. Когда я пытаюсь загрузить их, я получаю следующее исключение:

Указанные данные не могут быть расшифрованы

Console Error

Я написал такой код что

GoogleCredential credential = null;
        var jsonFileBytes = Properties.Resources.stitcherautoupdate_55bd51f48cf0;
        var jsonFileString = Encoding.UTF8.GetString(jsonFileBytes, 0, jsonFileBytes.Length);
        var json = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Object>(jsonFileString);
        var jsonString = json.ToString();
        credential = GoogleCredential.FromJson(jsonString);
        StorageClient = StorageClient.Create(credential);
        StorageClient.DownloadObject(bucketName, fileName, fileStream);

1 Ответ

0 голосов
/ 07 февраля 2020

Моя рекомендация по вашей проблеме - попробовать использовать методы загрузки и скачивания, указанные в документации. Как только он заработает, вы можете начать медленно менять код, чтобы знать, какая часть является причиной проблемы.

В этом документе описывается, как сначала следует настроить клиентскую библиотеку Cloud Storage. и настройка аутентификации.

Пример кода для загрузки объекта :

private void UploadFile(string bucketName, string localPath,
    string objectName = null)
{
    var storage = StorageClient.Create();
    using (var f = File.OpenRead(localPath))
    {
        objectName = objectName ?? Path.GetFileName(localPath);
        storage.UploadObject(bucketName, objectName, null, f);
        Console.WriteLine($"Uploaded {objectName}.");
    }
}

Для загрузки объекта :

private void DownloadObject(string bucketName, string objectName,
    string localPath = null)
{
    var storage = StorageClient.Create();
    localPath = localPath ?? Path.GetFileName(objectName);
    using (var outputFile = File.OpenWrite(localPath))
    {
        storage.DownloadObject(bucketName, objectName, outputFile);
    }
    Console.WriteLine($"downloaded {objectName} to {localPath}.");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...