Is There A Way To Get Your Email Address After Authenticating With Gmail Using Oauth?
Solution 1:
What you're after is the Google Contacts API. If you're authorizing via OAuth you're probably currently asking for permission to access the gmail scope:
https://mail.google.com/mail/feed/atom
You will also need to ask for permission for the contacts scope:
https://www.google.com/m8/feeds/
Once you have that, you can make a GET request similar to the following:
https://www.google.com/m8/feeds/contacts/default/full?max-results=1
This should return a bunch of xml, here are some relevant bits:
<?xml version="1.0" encoding="UTF-8"?><feedxmlns="http://www.w3.org/2005/Atom"xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"xmlns:gContact="http://schemas.google.com/contact/2008"xmlns:batch="http://schemas.google.com/gdata/batch"xmlns:gd="http://schemas.google.com/g/2005"gd:etag="W/"CEcMRX0_eCp7ImA9WhdRF00.""><id>joebloggs@gmail.com</id>
...
<author><name>Joe Bloggs</name><email>joebloggs@gmail.com</email></author>
...
</feed>
As you can see you can find the authorized users' email in a couple of places.
If you're using OAuth you might also want to have a look at the Google OAuth playground, I've found it very handy: http://googlecodesamples.com/oauth_playground/index.php. If you decide to use OAuth2 there is equivalent tool at https://code.google.com/oauthplayground
Solution 2:
skorks answer works just fine but you should use the correct API. By adding additional scope of
https://www.googleapis.com/auth/userinfo.email
You do it "the right way"!
I wrote a complete article about this with example code: http://www.hackviking.com/2013/10/python-get-user-info-after-oauth/ Code available here: https://code.google.com/p/google-api-oauth-demo/
Post a Comment for "Is There A Way To Get Your Email Address After Authenticating With Gmail Using Oauth?"