Я пытаюсь использовать Google Drive API из приложения asp.net для загрузки файлов.
Проблема: код работает локально, но при загрузке на сервер ничего не происходит (страница просто продолжает загружаться... экран разрешения не отображается. Помощь устранена. Папка "UploadedPdf" доступна для записи, а client_secrets.json существует в папке.
ПРИМЕЧАНИЕ. Я ничего не установил на сервере, а просто загрузил все файлы, включая DLL API Google, в папку bin на сервере.
UserCredential credential;
using (var filestream = new FileStream(Server.MapPath("UploadedPdf/client_secrets.json"),
FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(filestream).Secrets,
new[] { DriveService.Scope.Drive },
"user",
CancellationToken.None,
new FileDataStore(Server.MapPath("UploadedPdf/"))).Result;
}
// Create the service.
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Drive API Sample",
});
Google.Apis.Drive.v2.Data.File body = new Google.Apis.Drive.v2.Data.File();
body.Title = "My document";
body.Description = "A test document";
body.MimeType = "text/plain";
byte[] byteArray = System.IO.File.ReadAllBytes(Server.MapPath("UploadedPdf/sample.txt"));
System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);
FilesResource.InsertMediaUpload request = service.Files.Insert(body, stream, "text/plain");
request.Upload();
Google.Apis.Drive.v2.Data.File file = request.ResponseBody;