访问未配置的YouTube API

时间:2014-02-03 04:24:44

标签: ios youtube-api

我正在尝试添加将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上的应用程序概述中看到已收到多个请求,但每个请求都有错误。我只是想不通为什么它会拒绝它。

感谢您的帮助。

4 个答案:

答案 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密钥,然后创建一个没有捆绑包标识符的新密钥。