使用带有api密钥的youtube v3

时间:2013-03-15 00:34:29

标签: ios objective-c youtube-api api-key

我正在尝试使用YouTube v3 API使用API​​Key而不是oAuth2执行搜索。

我的问题是,当我使用API​​Key时,查询总是会返回错误。

这是初始化服务的代码

_service = [[GTLServiceYouTube alloc] init];
[_service setRetryEnabled:YES];
[_service setAPIKey:kAPIKey];

这是查询的代码

GTLQueryYouTube *query = [GTLQueryYouTube queryForSearchListWithPart:@"snippet"];
query.q = filter;
query.type = type;
query.maxResults = maxResults;

[_service executeQuery:query completionHandler:
 ^(GTLServiceTicket *ticket, GTLYouTubeSearchListResponse *searchListResponse, NSError *error)
{
//-- do stuff
 }];

使用API​​Key时返回的错误如下。如果我使用oAuth,一切都按预期进行。

error: Error Domain=com.google.GTLJSONRPCErrorDomain Code=403 "The operation couldn’t be completed. (Access Not Configured)" UserInfo=0x13d10ac0 {error=Access Not Configured, GTLStructuredError=GTLErrorObject 0x13d0c770: {message:"Access Not Configured" code:403 data:[1]}, NSLocalizedFailureReason=(Access Not Configured)}

我已在Google API控制台上创建了APIKey,并启用了该服务。

2 个答案:

答案 0 :(得分:1)

不是理想的解决方案......但我在这篇文章中找到了一个解决方法: google-youtube-api-v3-ios-app-key-403-error-code

基本上,如果我们使用“用于浏览器应用的密钥”而不是“用于iOS应用的密钥”,它将会起作用。

答案 1 :(得分:0)

您是否已从google-console中的服务面板启用youtube api?