我正在尝试添加将YouTube中的某些视频观看到我正在创建的iOS应用中的功能。我有一个来自Google的API密钥,并且已根据评论提示从开发者控制台启用了YouTube API。这不是问题。
我有一个非常简单的方法,从它的ID中收集特定YouTube频道的详细信息,然后我将使用该ID来查找所有频道上传的视频。我遇到的问题是它说我的Access没有配置。以下是我所做的一切:
获取信息的方法(显然我没有包含我的密钥或渠道ID):
- (void)collectChannelData {
GTLServiceYouTube *service = [[GTLServiceYouTube alloc] init];
service.APIKey = @"API_KEY";
GTLQueryYouTube *query = [GTLQueryYouTube queryForChannelsListWithPart:@"contentDetails"];
query.channelId = @"CHANNEL_ID";
GTLServiceTicket *ticket = [service executeQuery:query completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) {
if (!error) {
GTLYouTubeChannelListResponse *channelItem = object;
NSLog(@"%@", channelItem);
} else {
NSLog(@"%@", error);
}
}]; }
我已确保在Google Developer Console中启用了YouTube Data API v3,并且Bundle Identifier与我的Info.plist中的内容相匹配
我收到的错误消息是:
错误Domain = com.google.GTLJSONRPCErrorDomain Code = 403“无法完成操作。(未配置访问权限。请使用Google Developers Console激活项目的API。)”UserInfo = 0xa3aa0e0 {error = Access未配置。请使用Google Developers Console激活项目的API。,GTLStructuredError = GTLErrorObject 0x8a74630:{message:“Access Not Configured。请使用Google Developers Console激活项目的API。”代码:403数据:[1]},NSLocalizedFailureReason =(访问未配置。请使用Google Developers Console激活项目的API。)}
我找不到任何理由说这不起作用。我认为我是正确的,因为我不需要为此特定请求设置结算帐户或需要oAuth。我还可以在Developer Console上的应用程序概述中看到已收到多个请求,但每个请求都有错误。我只是想不通为什么它会拒绝它。
感谢您的帮助。
答案 0 :(得分:7)
Bundle标识符存在已知问题,请暂时省略,它应该有效。
您可以在此处跟踪问题:https://code.google.com/p/gdata-issues/issues/detail?id=5770
答案 1 :(得分:0)
您是否已执行本文档页面中列出的步骤:
https://developers.google.com/console/help/#activatingapis
通常,您需要启用要为特定项目访问的特定API。您收到的错误消息非常清楚
答案 2 :(得分:0)
您应该使用Google Developer Console注册API密钥:
https://code.google.com/apis/console
答案 3 :(得分:0)
只需从Google控制台中删除您的捆绑包标识符即可。
如果仍然无效,请从Google控制台中删除iOS API密钥,然后创建一个没有捆绑包标识符的新密钥。