1 Востаннє редагувалося Betterthanyou (22.01.2022 09:33:22)

Тема: [Вирішено]Як очистити Google OAuth 2.0 Flow: Installed apps

Я видалив тестовий проект з console.cloud.google.com, створив новий. Мені потрібна OAuth для завантаження відео на ютуб по API. Для того щоб використовувати API створюється "client_secrets.json" файл https://developers.google.com/youtube/v … les/dotnet

Після спроби завантаження відео на ютуб, приходить помилка зі номером старого проекту "project #xxxx has been deleted"

Прочитав про анулювання токіну на https://developers.google.com/youtube/v … alled-apps
Викликав https://accounts.google.com/o/oauth2/re … en={token} з токіном який приходить в програму, виводиться помилка

{
  "error": "deleted_client",
  "error_description": "The OAuth client was deleted."
}

Повністю видалив директорію bin і перезібра пограму знову, та сама проблема, при завантаженні відео приходить помилка "project #xxxx has been deleted" з номером попереднього проекту який я видалив.
Видалив з браузера хром кеш (тому що коли самий перший раз відкриваєш програму, програма просить через браузер авторизуватися)

Звісно, у client_secrets.json старого номеру немає, там новий. Тобто десь зберігається кеш OAuth, але де саме я не можу ніяк знайти.

Як очистити Google OAuth 2.0 Flow: Installed apps кеш, і перезапустити авторизацію для нового client_secrets файлу ?

2

Re: [Вирішено]Як очистити Google OAuth 2.0 Flow: Installed apps

Вирішив
Потрібно викликати

await GoogleWebAuthorizationBroker.ReauthorizeAsync(
                    credential, CancellationToken.None);

Після

credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.FromStream(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 },
                    video.Snippet.ChannelTitle,
                    CancellationToken.None
                );