У меня есть класс, который вызывает API Google Диска, а затем отправляет результаты во внешний интерфейс. Это работает локально в Visual Studio. Но когда проект развертывается в Azure, Google Drive API возвращает значение null.
Это класс:
using Google.Apis.Auth.OAuth2;
using Google.Apis.Drive.v3;
using Google.Apis.Services;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace webapp {
public class RetrieveAPIData {
public Dictionary < string, int > GetData() {
Dictionary < string, int > data = new Dictionary < string, int > ();
//var certificate = ;
//var serviceAccountEmail = ;
//var scopes = ;
var credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail) {
Scopes = scopes
}.FromCertificate(certificate));
// Create Drive API service.
var service = new DriveService(new BaseClientService.Initializer() {
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
// Define parameters of request.
FilesResource.ListRequest listRequest = service.Files.List();
listRequest.PageSize = 10;
listRequest.Fields = "nextPageToken, files(name, id)";
// List files.
var files = listRequest.Execute().Files;
if (files != null && files.Count > 0) {
foreach(var file in files) {
data.Add(file.Name, file.Id);
}
}
return data;
}
}
}