2015-05-19 5 views
2

Я прочитал большинство ссылок на консоль разработчика.403 Запрещенная ошибка при обращении к API YouTube Analytics .NET

  1. Я создал установленный проект в Google Developers Console под учетной записью YouTube Manager Google на сайте YouTube.
  2. Я включил API данных YouTube v3 и YouTube Analytics v1.
  3. Я создал учетные данные для установленного проекта.

код проверяет подлинность без проблем:

UserCredential credential; 
 
      using (var stream = new FileStream(hds_opo_youtube_service.Properties.Settings.Default.clientIDFile, FileMode.Open, FileAccess.Read)) 
 
      { 
 
       credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
 
        GoogleClientSecrets.Load(stream).Secrets, 
 
        // This OAuth 2.0 access scope allows for read-only access to the authenticated 
 
        // user's account, but not other types of account access. 
 
        new[] { YouTubeService.Scope.YoutubeReadonly, 
 
          YouTubeAnalyticsService.Scope.YtAnalyticsReadonly}, 
 
        "user", 
 
        CancellationToken.None, 
 
        new FileDataStore(this.GetType().ToString()) 
 
       ); 
 
      } 
 

 
      var youtubeService = new YouTubeService(new BaseClientService.Initializer() 
 
      { 
 
       HttpClientInitializer = credential, 
 
       ApplicationName = this.GetType().ToString() 
 
      });
я могу получить список видео из одного specfic воспроизведения с помощью API данных YouTube. Затем я создаю службу аналитики youtube и попробую запросить данные для просмотра. То есть, когда я получаю:

произошла ошибка: Google.Apis.Requests.RequestError Запретной [403] ошибки [ Сообщения [Forbidden] Местоположения [-] Причины [Запрещено] домена [глобальной ] ]

Я попытался разрешить ситуацию, используя API-интерфейс API. Это было очень полезно. Когда я пытаюсь выполнить аутентификацию с помощью учетной записи профиля владельца YouTube Manager. Запрос завершается с ошибкой. Но если я использую учетную запись + страницы, которая отличается, я могу заставить запрос работать. У учетной записи Google+ есть учетная запись электронной почты, но вся корреспонденция с учетной записью + страницы направляется в учетную запись профиля владельца менеджера. Поэтому я попытался добавить учетную запись + страницы к разрешениям проекта, но нет способа подтвердить ссылку. Я думаю, что моя проблема заключается в том, что канал YouTube принадлежит учетной записи + страницы. У владельца менеджера назначена другая учетная запись, учетная запись профиля, хотя она является менеджером учетной записи youtube. Я знаю, это звучит очень запутанно. Кто-нибудь есть идеи о том, как решить проблему. Спасибо

ответ

1

Ну, я думаю, я отвечу на свой вопрос. Канал YouTube связан с бизнес-страницей Google+. Эта страница не является учетной записью Google в полном смысле этого слова. У него есть автоматически созданная электронная почта, но это не настоящая учетная запись электронной почты. Администратор владельца - это учетная запись google + profile. Я не понял этого различия перед созданием своего приложения, поэтому, когда я сначала попытался выполнить проверку подлинности, мне дали выбор между проверкой подлинности + страницы или профиля Google+. Я выбрал профиль Google+, считая, что он является владельцем канала YouTube. Затем все последующие аутентификации использовали сохраненный токен обновления и больше не спрашивали, какой из двух учетных записей google + для проверки подлинности. Тем временем я использовал API-интерфейс API и понял, что мне нужно пройти аутентификацию на + странице. Поэтому я удалил сохраненный токен обновления, а затем снова запустил код. Это дало мне выбор из двух учетных записей. Я выбрал + страницу и работал запрос на аналитику youtube.

Смежные вопросы