2014-01-08 45 views
2

我需要从YouTube上拉取特定频道播放列表的名称。我正在使用AFJSONRequestOperation来打电话。YouTube API v3错误:403,但API密钥已配置且包标识符正确

我不断收到错误代码“(200-299)中的预期状态码,得到403”。我已经注册谷歌和我的包标识符是正确的。

这里是我的代码(我划掉我的API密钥的最后十个字符):

NSURL *url = [[NSURL alloc] initWithString:@"https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId=UCHvTZKuI5zQnxmbgSE-CFug&maxResults=50&key=AIzaSyDHU-hMgwLf0a4vZe4pPDxqyxxxxxxxxxx"]; 
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; 


AFJSONRequestOperation *operation = [AFJSONRequestOperation 
            JSONRequestOperationWithRequest:request 
            success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON){ 
             NSLog(@"%@,",JSON[0][@"title"]); 

            }failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON){ 
             NSLog(@"NSError: %@", error.localizedDescription); 

            }]; 

[operation start]; 

我曾尝试解决方案如下: - 使用浏览器密钥。 - 重新生成密钥。 - 三重检查包标识符。 - 已添加谷歌云api的和YouTube的分析和YouTube的数据api。

有什么建议吗?

由于提前, -Joel

+0

Joel,检查令牌是否仍然有效。访问令牌只有一个小时有效。看看这篇文章:http://ikaisays.com/2013/07/19/debugging-your-google-oauth-2-0-token-when-you-get-http-401s-or-403s/ –

+0

其他我可能会建议的是使用官方Objective-C库,它将为您管理关键管理:https://code.google.com/p/google-api-objectivec-client/ –

+0

我试图使用发布你链接,我不断收到403禁止或400无效呼叫,但我有三重检查了电话。接下来我将尝试使用objectivec-client库。 – Joel

回答

1

这似乎是一个错误 - 我从我的注册应用中删除软件包标识符固定它。