Получение неожиданного списка файлов на Google Диске с помощью API Key - PullRequest
0 голосов
/ 12 сентября 2018

Я использую клиентскую библиотеку dotNET для Google Drive, чтобы получить список файлов из моей учетной записи Google Drive.

  1. Я вхожу в свою учетную запись Google
  2. Я перехожу кУчетные данные консоли Google - https://console.cloud.google.com/apis/credentials
  3. Я выбираю свой проект "Тестовый доступ к Google Drive"
  4. Я создаю учетные данные учетной записи службы

Затем я беру учетные данные службыключ и попытаться перечислить содержимое моей учетной записи Google Drive (которая имеет два тестовых файла).Однако, когда я запускаю приложение, я получаю длинный список файлов, которые я никогда не видел прежде, и мне интересно, откуда они взялись.Я ожидал увидеть только два тестовых файла, которые я поместил в свою учетную запись Google Drive.

enter image description here

Вот пример приложения, которое я использую.Это прямо из клиентской библиотеки Google DOTNET

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Google.Apis.Discovery.v1;
using Google.Apis.Discovery.v1.Data;
using Google.Apis.Services;

namespace List_Google_Drive_Files
{
  class Program
  {
    [STAThread]
    static void Main(string[] args)
    {
      Console.WriteLine("Discovery API Sample");
      Console.WriteLine("====================");
      try
      {
        new Program().Run().Wait();
      }
      catch (AggregateException ex)
      {
        foreach (var e in ex.InnerExceptions)
        {
          Console.WriteLine("ERROR: " + e.Message);
        }
      }
      Console.WriteLine("Press any key to continue...");
      Console.ReadKey();
    }

    private async Task Run()
    {
      // Create the service.
      var service = new DiscoveryService(new BaseClientService.Initializer
      {
        ApplicationName = "Discovery Sample",
        ApiKey = "<MY SERVICE ACCOUNT KEY GOES HERE>",
      });

      // Run the request.
      Console.WriteLine("Executing a list request...");
      var result = await service.Apis.List().ExecuteAsync();

      // Display the results.
      if (result.Items != null)
      {
        foreach (DirectoryList.ItemsData api in result.Items)
        {
          Console.WriteLine(api.Id + " - " + api.Title);
        }
      }
    }
  }
}

ПРИМЕЧАНИЕ. - Я действительно хочу использовать ключ учетной записи службы, потому что я хочу создать приложение службы к службе, где не будет ввода пользователя для ввода имени пользователяи пароль.Я ожидаю, что клиент создаст и предоставит мне ключ доступа, который я затем буду использовать для доступа к своим файлам.

...