В конечном счете, я пытаюсь загрузить видео на YouTube от имени пользователя, который разрешил мой сайт/приложение сделать это.Как настроить веб-сайт, для которого авторизация для учетных данных YouTube используется консольным приложением?
У меня есть сайт, на котором пользователь разрешает сайту использовать учетные данные пользователя YouTube. Затем веб-сайт правильно сохраняет учетные данные после авторизации пользователя (API данных YouTube версии 3). Проблема в том, что эти учетные данные желательны для использования серверным процессом, который для всех целей будет рассматриваться как консольное приложение.
Однако при добавлении учетных данных в мой проект в Менеджере API Google я могу либо сделать веб-браузер, и веб-сервер (и другие), либо «другой пользовательский интерфейс (Windows)». Но я не могу делать ОБА. Я считаю, что мне нужны оба, потому что пользователь авторизуется через веб-сайт, но консольный процесс использует учетные данные.
Но даже если у меня есть ответ на это выше, как передать учетные данные USER в консольное приложение, используя пример кода, который они показывают в образцах?
using (var stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
{
credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
// This OAuth 2.0 access scope allows an application to upload files to the
// authenticated user's YouTube channel, but doesn't allow other types of access.
new[] { YouTubeService.Scope.YoutubeUpload },
"user",
CancellationToken.None
);
}
Похоже, этот код используется больше для хранения учетных данных где-то в файловой системе Windows, которые будут получены позже, как кэш. Но я уже храню эти «разрешенные» значения в базе данных и хотел бы получить их и действовать от имени этого пользователя.
Надеюсь, это имеет смысл, и я прошу прощения, если он бессвязно.
Ваше решение именно то, что я искал , однако, кто-нибудь еще считает это архаичным и ограничивающим? Заставляя создавать папки и файлы на основе пользователей? ** Есть ли способ вызвать все эти вещи вручную, собрав сообщения, формы и параметры? ** – LosDude
В вашем примере из вашей ссылки я не вижу метода, с помощью которого вы можете получить необходимые ключи через базу данных. У вас есть такой пример? – LosDude
Как я уже сказал, вы можете создать свою собственную реализацию iDatastore и загрузить ее из любого места. У меня есть версия, которая хранит все это в базе данных, например. – DaImTo