我正在尝试使用YouTube v3 API使用APIKey而不是oAuth2执行搜索。
我的问题是,当我使用APIKey时,查询总是会返回错误。
这是初始化服务的代码
_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
}];
使用APIKey时返回的错误如下。如果我使用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,并启用了该服务。
答案 0 :(得分:1)
不是理想的解决方案......但我在这篇文章中找到了一个解决方法: google-youtube-api-v3-ios-app-key-403-error-code
基本上,如果我们使用“用于浏览器应用的密钥”而不是“用于iOS应用的密钥”,它将会起作用。
答案 1 :(得分:0)
您是否已从google-console中的服务面板启用youtube api?