Я знаю, что при авторизации запросов с помощью OAuth мы можем использовать несколько областей, чтобы запросить конкретное разрешение у пользователя. Я хочу запросить разрешение на скачивание файлов с общедоступными ссылками (эта ссылка будет предоставлена пользователем).
Однако области, перечисленные здесь , не предоставляют такой возможности. Я не хочу получать разрешение на все файлы и пугать их.
Ниже приведен код, который я использую. Есть идеи? Как вы думаете, возможно ли получить разрешение для файлов с публичными ссылками? Для этой цели можно использовать доступ к общей ссылке?
private string[] Scopes = { DriveService.Scope.DriveFile};
private DriveService GetDriveServiceInstance()
{
UserCredential credential;
using (var stream = new FileStream("Services/credentials.json", FileMode.Open, FileAccess.Read))
{
string credPath = "token.json";
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
Scopes,
"user",
CancellationToken.None,
new FileDataStore(credPath, true)).Result;
Console.WriteLine("Credential file saved to: " + credPath);
}
BaseClientService.Initializer bcs = new BaseClientService.Initializer();
bcs.HttpClientInitializer = credential;
bcs.ApplicationName = "synergy";
DriveService service = new DriveService(bcs);
return service;
}