我正在尝试通过oauth(对youtube数据的权限)获取经过身份验证的用户的频道,并通过应用引擎登录。我一直收到授权问题。截至昨天,情况并未发生。例外的细节:
引起:com.google.api.client.googleapis.json.GoogleJsonResponseException:401 OK { “代码”:401, “错误”:[{ “域名”:“全球”, “location”:“授权”, “locationType”:“标题”, “message”:“凭证无效”, “reason”:“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上上传和操作我的频道就好......
答案 0 :(得分:0)
听起来很奇怪但是我肯定不是什么大不了的事情,首先我会仔细检查给定的密码和用户名..听起来很愚蠢但可能会让人头痛。如果你试图用错误的传递登录3次,你必须等待一段时间才能再次登录,此时你会得到一个“authError”。
之后我会检查你是否使用更新的令牌,因为如果它过期你也会得到“authError”。要知道您是否使用有效令牌,请使用此地址:
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token= {}的access_token
用您的令牌替换{access_token}。
如果有帮助,请告诉我。