I need to access the yahoo contacts API but when I create an app in developer console, the contacts API permission is not available.
So I selected all permissions and I followed authorization code flow. The first problem I faced is when I set scope to sdct-r
in authentication request I get this error:
I finally set scope to openid
(because that was the only scope that worked) and I exchanged the authorization code for an accessToken using /get_token
endpoint. I tried to get contacts using this access token from this api
https://social.yahooapis.com/v1/user/me/contacts?format=json
but I got a 403 forbidden response
{
"error": {
"detail": {
"content": [
"Please make sure you have appropriate permissions for get action(s)"
]
},
"description": "Authentication failure or invalid Application ID",
"lang": "en-US"
}
}
My question is: have yahoo stopped their contacts API or did I something wrong ? I think that this api is no longer available because even documentation links stopped working https://developer.yahoo.com/social/rest_api_guide/contacts_table.html . And is there any other solution to get user contacts?
Yahoo's Contacts API has been deprecated in favour of CardDAV. They've also changed how they provide access to the CardDAV API by making us manually apply for access.
You can now apply for access to Contact data for Yahoo users by submitting an application to the parent company Verizon Media here: https://developer.verizonmedia.com/mail/mail-api-access/
You should review their policies and preamble here: https://developer.verizonmedia.com/mail/
Once they have approved your application, your YDN account will receive the ability to request the
sdct-r
scope. You'll be able to use the access_token you receive to access the CardDAV API for Yahoo.Good times!