Что вы говорите, называется Service account. Подумайте о учетной записи службы как пользователя, у вас нет входа и пароля, но у нее есть учетная запись диска. Вы также не можете войти в него, используя версию веб-сайта. Все должно пройти через API.
string[] scopes =
new string[] { DriveService.Scope.Drive,
DriveService.Scope.DriveFile};
string keyFilePath = @"c:\file.p12" ; // found in developer console
string serviceAccountEmail = "[email protected]"; // found in developer console
//loading the Key file
var certificate = new X509Certificate2(keyFilePath, "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = scopes
}.FromCertificate(certificate));
Создание службы:
DriveService service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Drive API Sample",
});
Все запросы будут затем запустить хотя service
. У меня есть учебник, который пойдет вам на это, и есть пример проекта на GitHub, чтобы согласиться с ним. Google Drive API with C# Примечание: в руководстве используется oauth2, используя вышеуказанный код аутентификации для аутентификации с учетной записью службы.
спасибо за ответ. как я могу получить UserCredential для получения службы диска с использованием токена обновления в C#? любой пример или ссылку .. – hasnayn
жаль, что я не использую библиотеки C#. Я уверен, что будет форма конструктора, которая позволит вам обернуть существующий токен. Библиотеке все равно, как был создан токен обновления, поскольку он обычно хранится в базе данных для последующего извлечения. Затем вы будете использовать токен обновления, чтобы создать токен доступа. Я думаю, что UserCredential в основном является оберткой для токена доступа – pinoyyid