iosobjective-ccocoa-touchyoutubeyoutube-api

How do I use the YouTube Data API in my iOS app? I get "Access not configured" error on each request


I want to use the YouTube Data API to get the links to thumbnails for a specific YouTube video in my iOS app. I went to Google Developers Console and created a new project.

For that project I then went to "APIs" and removed the default APIs it enables for me and added the YouTube Data API. I then went to credentials, created a Public Key (as I don't need the user to log in or anything, just getting the thumbnail URLs) as iOS, which gave me an API key. I added the Bundle Identifier for my project under Allowed Applications.

Now in my app I tried the following code:

let test = NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: "https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=*MYKEYHERE*&part=snippet,contentDetails,statistics,status")!, completionHandler: { (data, response, error) -> Void in
    let json = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil)
    println("JSON: \(json)")
})

But it prints out the error:

JSON: Optional({
    error =     {
        code = 403;
        errors =         (
                        {
                domain = usageLimits;
                message = "Access Not Configured. Please use Google Developers Console to activate the API for your project.";
                reason = accessNotConfigured;
            }
        );
        message = "Access Not Configured. Please use Google Developers Console to activate the API for your project.";
    };
})

What exactly am I doing wrong?


Solution

  • There is a known problem about Bundle id in the console. If you can just remove that restriction, it should just work fine.

    You can track the original issue from here: https://code.google.com/p/gdata-issues/issues/detail?id=5770