You can retrieve the basic user information when using Yahoo OAuth1 protocol by calling this URL:
Just fill the
access token in that URL, the email should be part of the response.
Did that and got response 404 record not found. Also, checked passport-yahoo-oauth and they are actually using this API already to get the user profile (though the format you mentioned is not correct) and the profile does not contain the user email, so this does not help.
Also, and forgive me for saying, I wasted some time trying to check omab's answer. I will only check answers with complete code at which I need only replace the consumer id.
I've created a very simple
expressjs app that does auth with
passport-yahoo-oauth (the Yahoo Application only asks for Read Access to user emails, you cannot access that API without this scope).
In order to get the user email the app will call the
GetUserData API endpoint, then it will call
ListMessages over the
The app is really simple, it doesn't store the user or anything, just probes how's the API needs to be called once the user token was retrieved.
You can find the code here http://matiasaguirre.net/yahoo-emails-example.tar.gz.
Also in this Gist https://gist.github.com/omab/9dcc94a4f8e774f7b2ec, check the comment at the bottom.