API for looking up Gmail user's public full name? - email

Is there an API to look up the same information that I can get from Gmail if I type someone's email address into Gmail's search bar and hit search? For most Gmail addresses, this shows me the person's full name.
I ask for people's email address when they sign up on my website, but not for their names. I'd like to add a personal greeting to the emails that I send out. Note that people have NOT signed up using Google+.

You're looking for the new People API.

Related

API to fetch the contacts from domain email address

I have get the contacts from gmail,hotmail and yahoo email providers.
And i want to get contacts from any domain email addresss which users enter in a textbox. Is it feasible?
For example,
Here we can see the hotmail contact import: https://techjoomla.com/invitex/how-to-use-hotmailrest-api-to-import-contacts.html
Same way i want to import contacts from a domain email. i.e say if i have this email address test#stackoverflow.com and having few contacts.
Using PHP, i want to fetch the contacts from test#stackoverflow.com
Hope the above provided detailed explaination.
So, what you want is possible if that mail server allows you to access the contacts you have there. But, I am pretty sure that you will definitely not be allowed to fetch contacts from every single mail server you want. But, I would suggest you to give that try before losing hope.

Is there any way to access Yahoo IMAP with Oauth2 for new applications?

I'm looking for a way to allow Yahoo application to read user's emails over IMAP. It works well for old applications (that were created before Yahoo Mail API has deprecated), but trying to access IMAP for new applications gives me an error
[AUTHENTICATIONFAILED] (#AUTH007) Bad scope.
Unfortunately, I have no idea how to add a correct scope for accessing IMAP for new applications. During creation of the app, I was not given a choice to add scope with name even looking like 'mail'.
Is Yahoo API just broken or there is some tricky way to work around?
Contact imap-service#yahoo-inc.com
With your Yahoo.com email address and
Brief description of your product.
How will your product use Yahoo user's email content?
How will your product help Yahoo mail users?
What market do you serve?
What is your product's userbase?

Email Sender Image from Google+ Account

I'd like for all emails send from my server (e.g. mail#example.com) to arrive in recipients inboxes with a custom sender image used in Apple Mail and Google Inbox.
I have created a new Google+ account, linked and verified my website (by uploading the .html file, you know ;]), but still, the emails don't contain my Google + profile image as their sender image.
I assume it's something to do with me not sending emails from the new gmail address I've created with Google+. I'm hoping someone knows how to work around this and have Google+ treat any emails coming from my domain as the new Google+ account's own.
This Article seems to provide a good overall answer. I'll do a quick summary here.
As a takeaway:
Ensure your site is verified on Google+. This is done in Webmaster tools(link), and your webmaster must approve.
Ensure you have adequate email traffic (seems around 1k a week should do it).
When sending from a domain not matching Google+, you'll need to include a snippet of code in your email, and have Gmail approve the link.
Ensure that your email is authenticated against your domain and not your ESPs (or use the Featured Image markup).

Is it possible to check if an email is confirmed on Facebook?

Update
This was reported to Facebook via https://www.facebook.com/whitehat/report/ on Dec 16th 2013 and Facebook responded on Dec 17th that the bug has long since been fixed.
I have retested this with my Facebook account (that I still haven't verified the email address on) and when using the Grap API Explorer tool it is not possible to get the email address of this account using the Graph API or using a FQL query.
Conclusion: The email address you get from Facebook using the Graph API or a FQL query is a verified email. If an account hasn't verified it's email yet it's not possible to get it.
Original Post
I am making a web app with SSO that is offering the user to sign in with either Google or Facebook. I would like users who have both types of accounts to show up as the same user in my system regardless of which identity they log in with. To achieve this I'm thinking of using the email address as the identifier to know if I should create a new account or if the user already exists.
To not introduce any security problems I must know that the email address is verified and actually belongs to the user. For Google the userinfo API can tell me if an email is verified or not, so there's no problem here. But I can not find anything like this in the Facebook Graph API.
Is it possible to know if an email address is confirmed on Facebook?
I know that there is a verified field, but that only tells if the account is verified and not the email address.
At first it looked like you are only able to use the Graph API for accounts where the email address has been confirmed. If the address wasn't confirmed I just got an error telling me that I had to confirm the email address first before being able to sign in to any third party site.
However this does not seem to be true for all accounts. In some cases it's possible to get accesses to all parts of Facebook even if you don't have a confirmed email address. One example of this is when you sign up with a #myopera.com mail address.
When you sign up to Facebook with a #myopera.com email address you get a message that your account has been temporarily locked as soon as you submit the sign up form. To continue you need to provide your phone number to verify your account and to "keep Facebook safe and free from spam" (sorry for the Swedish in the screenshot, this was before I could get into Facebook and change language to English):
When you provide your phone number you are logged in and Facebook doesn't nag you any further about that you have to verify your email address.
The only place where you can see that your email address is not yet verified is on the settings page:
The Mobile Settings that is usually not accessible before you have verified your email address is available and lists the phone number entered during sign up:
In addition to this it is also possible to log in to third party sites with an unconfirmed email address:
When I connect to the graph api with this user I can get the unconfirmed email address and the verified field returns true as expected since I have verified the account by adding a phone number. So obviously I can't trust that the email address I get from Facebook really belongs to the user that has the Facebook account.
Is there any other way of knowing if the email address is verified or not or do I have to verify it myself if I want to use it for identifying the user?
I was looking for an official Facebook statement regarding this issue and finally i found this: https://developers.facebook.com/docs/facebook-login/multiple-providers#postfb1, which clearly says that developer should not rely on the fact that email address is verified.
I've never used it, but you may be able to check with a FQL query of the user.email_hashes: http://developers.facebook.com/docs/reference/fql/user

Getting Yahoo contact names and email addresses using YQL

I'm trying to build a web application in which users can invite their friends by using their email accounts (just like facebook). I use OAuth so that users don't need to enter password in my app. The problem is that I cannot figure out what is the correct YQL query to fetch contact names and email addresses from Yahoo social tables, and achieve the same result with facebook's Find Friends feature.
At first I used this:
SELECT * FROM social.contacts(0, 500) WHERE guid=me
With this query I hope I can get all contacts of the current logged in user, at once. But after parsing and selecting only records which have email field, the result list is far less than when I'm using facebook's Find Friends. I guess facebook does not only using Contacts tables, but also Profile tables, as I see it in the Yahoo authorization page when granting access permission to my private data.
So what is the correct YQL query to get all contact names and email addresses, using these two tables ?
After trying some tests, I discovered that when I import email addresses from my Yahoo contacts, Facebook automatically guesses the contact's email address in case that contact does not have an email field, by appending #yahoo.com to its yahooid field. As I see, this is totally wrong. Because with a yahooid, say "john123", the associated email may have an international domain like john123#yahoo.co.uk, john123#yahoo.com.vn etc.
I have a friend in my Yahoo contacts list. He has a yahooid which associates with a #yahoo.com.vn email address. Before importing my Yahoo contacts into Facebook, I made sure that there is no email field in his contact entry, just a name and a yahooid field. After importing into Facebook, Facebook determines my friend's email address as a #yahoo.com email. Of course the Facebook invitation mail never reach him.
And so, the answer to my question is: there is nothing wrong with my YQL. Facebook can fetch more email addresses than I do, but many of them are incorrect.