YouTube Android SDK - 凭据无效

时间:2014-09-16 09:09:34

标签: android google-api youtube-data-api

我收到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"
}

我在Google API控制台中添加了以下内容:

  • Android应用程序的客户端ID
  • 网络应用程序的客户端ID
  • 浏览器应用程序的密钥

我还使用了完美运行的Google Drive SDK。

在我的API列表中,我有:

  • Drive API
  • Drive SDK
  • Google+ API
  • YouTube Data API v3

1 个答案:

答案 0 :(得分:2)

在我获得奖金的那一刻,我注意到有问题的应用程序也与同事Google帐户相关联。 &#34; Android应用程序的客户端ID的正确签名&#34;是那个帐户。虽然,我在密钥下的主帐户上也有正确的签名。

现在已经解决了。