我正试图通过oauth(youtube数据的权限)获取经过身份验证的用户的频道,并通过应用程序引擎登录。我一直遇到授权问题。截至昨天,这还没有发生。异常的详细信息:
引起原因:com.google.api.client.googleapis.json.GoogleJsonResponseException:401 OK{"代码":401,"错误":[{"域":"全局","位置":"授权","locationType":"标头","message":"无效凭据","原因":"authError"}],"message":"无效凭据"}
看看Youtube Data Api的Api控制台状态,没有问题。是什么原因造成的?我确实有一个youtube频道,没有它会导致youtube注册问题。不确定发生了什么。有没有其他仪表板可以让我看看youtube数据api是否出现了问题?
我使用以下代码来检查用户登录时是否有youtube频道。
try {
YouTube.Channels.List channelRequest = youTubeProvider.get().channels().list("snippet");
channelRequest.setMine(true); // return channels owned by the authenticated user
ChannelListResponse channelListResponse = channelRequest.execute();
List<Channel> channelList = channelListResponse.getItems();
logger.info("YouTube channels fetched " + channelList.size());
hasActiveYouTubeChannel = channelList.size() > 0;
} catch (GoogleJsonResponseException e) {
...
}
抛出并捕获异常,e.statusCode==401。删除此检查,我使用我的应用程序,可以在youtube上传和操作我的频道,很好。。。
听起来不错,但我肯定没什么大不了的,首先我会仔细检查给定的密码和用户名。。听起来很愚蠢,但可能会让人头疼。此外,如果你试图用错误的通行证登录3次,你必须等待一段时间才能再次登录,此时你会收到"authError"。
在那之后,我会检查你是否使用了更新的令牌,因为如果它过期了,你也会得到"authError"。要知道您是否使用有效的令牌,请使用以下地址:
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token={access_token}
将{access_token}替换为您的令牌。
如果有帮助的话,请随时告诉我最新情况。