8
votes

I used to get user image through this URL

https://plus.google.com/s2/photos/profile/(user_id)?sz=150

but now what all I am getting is 404 error or no image. I know google has changed its policies and way it connects and allows other to get information, but I didn't anything to achieve same result as above.

Note: I can't use authenticate thing here since I am showing image of users to other users which are not connected at all.

OR in other way user may be not coming from Google log-in but I need to show other Google users images only.

Any help would be highly appreciated!!!

Edit: I have checked through people.get method

https://www.googleapis.com/plus/v1/people/11595...3592320?key=AIzaSyCkdmtNN1XDg....EpepOIIs

but I am getting error saying

{
   "error": {
     "errors": [
        {
          "domain": "usageLimits",
          "reason": "accessNotConfigured",
          "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
        }
     ],
   "code": 403,
   "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
  }
}

Edit: I have this already enabled since I am using Google+ log-in already in my site, here I am attaching screenshot:

Google+ API already enabled

2

2 Answers

20
votes

Earlier I have also the same problem for my site after so much of research and efforts I found solution from my self and i hope that will also work for you and solve your problem:

Old Trick

Google had changed their policy so the old trick for getting the Google profile image will not work now.

e.g https://plus.google.com/s2/photos/profile/(user_id)?sz=150

New Trick

Get Request:

https://www.googleapis.com/plus/v1/people/115950284...320?fields=image&key={YOUR_API_KEY}

Response :200 OK

{
    "image": 
    {
         "url": "https://lh3.googleusercontent.com/-OkM...AANA/ltpH4BFZ2as/photo.jpg?sz=50"
    }
}

Where YOUR_API_KEY is your Public API Access key which is generated through Credentials under APIs & Auth from https://console.developers.google.com/

And While creating Public API access key you can choose Referers URL's from which this request should be made but for checking you should try by not adding any URL to it, if it works then go with URL of your site.

You can choose other fields to send with URL which you may need from here.

Happy Coding!!!

9
votes

You can get this information using the people.get Google+ API call and specifying the userid of the user you want information for. This will include an image.url field which you can use and resize as appropriate.

Since this is public information for a user, you don't need the user to authenticate to access it. You do, however, need an API Key which you will add to the end of the URL used in the API call.

You can get an API Key by going to https://console.developers.google.com/ under the "APIs and auth" section and "Credentials" subsection. You can then click on the button under "Public API Access" that says "Create New Key".

The URL you'll use to get the info will look something like

https://www.googleapis.com/plus/v1/people/1234567890?key=api_key

and you'll get back a JSON object with the profile info.

Update: Make sure you have also enabled the Google+ API in the developes console. You can get to this through https://console.developers.google.com/, under the "APIs and auth" section and "API" subsection, you can find the "Google+ API" on the list and turn it on.