YouTube SDK для Android — Неверные учетные данные

Я получаю ошибку Invalid Credentials в результате следующего модульного теста:

List<String> scopes = new ArrayList<String>();
scopes.add(YouTubeScopes.YOUTUBE_READONLY);
try {
    GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(this, scopes);
    credential.setSelectedAccountName(account.name);

    YouTube.Builder builder = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, credential).setApplicationName("TestApp");
    YouTube youtube = builder.build();

    YouTube.Channels.List channelRequest = youtube.channels().list("contentDetails");
    channelRequest.setMine(true);
    ChannelListResponse channelResult = channelRequest.execute();

    List<Channel> channelsList = channelResult.getItems();

    for(Channel channel : channelsList) {
        // Do things
    }
} catch (UserRecoverableAuthIOException e) {
    e.printStackTrace();
    startActivityForResult(e.getIntent(), RESULT_REQUEST_AUTH);
} catch (IOException e) {
    e.printStackTrace();
}

При использовании этого кода я сначала получаю UserRecoverableAuthIOException, как и ожидалось. После того, как авторизация была дана, я получаю следующую ошибку:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized
{
  "code" : 401,
  "errors" : [ {
    "domain" : "global",
    "location" : "Authorization",
    "locationType" : "header",
    "message" : "Invalid Credentials",
    "reason" : "authError"
  } ],
  "message" : "Invalid Credentials"
}

В мою консоль API Google добавлено следующее:

  • Идентификатор клиента для Android-приложения
  • Идентификатор клиента для веб-приложения
  • Ключ для браузерных приложений

Я также использую Google Drive SDK, который отлично работает.

В моем списке API у меня есть:

  • API Диска
  • SDK Диска
  • Google+ API
  • API данных YouTube v3

person Knossos    schedule 16.09.2014    source источник
comment
взгляните на этот SO Post   -  person Sagar Pilkhwal    schedule 24.09.2014


Ответы (1)


В тот момент, когда я поставил бонус, я заметил, что рассматриваемое приложение также было связано с учетной записью Google коллеги. В этой учетной записи была правильная подпись для «Идентификатор клиента для приложения Android». Хотя, у меня была правильная подпись и на основном аккаунте под ключами.

Хотя сейчас решено.

person Knossos    schedule 24.09.2014